# Custom models
URL: https://docs.datarobot.com/en/docs/api/reference/public-api/custom_models.html

> Assemble, test and deploy your own custom model with a custom environment.

# Custom models

Assemble, test and deploy your own custom model with a custom environment.

## Get custom model feature impact by image ID

Operation path: `GET /api/v2/customInferenceImages/{imageId}/featureImpact/`

Authentication requirements: `BearerAuth`

Retrieve feature impact scores for features in a custom inference model image.

.. minversion:: v2.23
    DEPRECATED: please use version route instead:
    [GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/featureImpact/][get-apiv2custommodelscustommodelidversionscustommodelversionidfeatureimpact]

This route is a counterpart of a corresponding endpoint for native models:
[GET /api/v2/projects/{projectId}/models/{modelId}/featureImpact/][get-apiv2projectsprojectidmodelsmodelidfeatureimpact].

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| imageId | path | string | true | ID of the image of the custom inference model to retrieve feature impact from. |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "Number of feature impact records in a given batch.",
      "type": "integer"
    },
    "featureImpacts": {
      "description": "A list which contains feature impact scores for each feature used by a model. If the model has more than 1000 features, the most important 1000 features are returned.",
      "items": {
        "properties": {
          "featureName": {
            "description": "The name of the feature.",
            "type": "string"
          },
          "impactNormalized": {
            "description": "The same as `impactUnnormalized`, but normalized such that the highest value is `1`.",
            "maximum": 1,
            "type": "number"
          },
          "impactUnnormalized": {
            "description": "How much worse the error metric score is when making predictions on modified data.",
            "type": "number"
          },
          "parentFeatureName": {
            "description": "The name of the parent feature.",
            "type": [
              "string",
              "null"
            ]
          },
          "redundantWith": {
            "description": "Name of feature that has the highest correlation with this feature.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "featureName",
          "impactNormalized",
          "impactUnnormalized",
          "redundantWith"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL for the next page of results, or null if there is no next page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL for the previous page of results, or null if there is no previous page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "ranRedundancyDetection": {
      "description": "Indicates whether redundant feature identification was run while calculating this feature impact.",
      "type": "boolean"
    },
    "rowCount": {
      "description": "The number of rows that was used to calculate feature impact. For the feature impact calculated with the default logic, without specifying the ``rowCount``, we return ``null`` here.",
      "type": [
        "integer",
        "null"
      ],
      "x-versionadded": "v2.21"
    },
    "shapBased": {
      "description": "Indicates whether feature impact was calculated using Shapley values. True for anomaly detection models when the project is unsupervised, as permutation approach is not applicable. Note that supervised projects must use an alternative route for SHAP impact: /api/v2/projects/(projectId)/models/(modelId)/shapImpact/",
      "type": "boolean",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "count",
    "featureImpacts",
    "next",
    "previous",
    "ranRedundancyDetection",
    "rowCount",
    "shapBased"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | Custom model feature impact returned. | FeatureImpactResponse |
| 404 | Not Found | No feature impact data found for custom model. | None |
| 422 | Unprocessable Entity | Cannot retrieve feature impact scores: (1) if custom model is not an inference model, (2) if training data is not assigned, (3) if feature impact job is in progress for custom model. | None |

## Create custom model feature impact by image ID

Operation path: `POST /api/v2/customInferenceImages/{imageId}/featureImpact/`

Authentication requirements: `BearerAuth`

Add a request to calculate feature impact for a custom inference model image to             the queue.

.. minversion:: v2.23
    DEPRECATED: please use version route instead:
    [POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/featureImpact/][post-apiv2custommodelscustommodelidversionscustommodelversionidfeatureimpact]

This route is a counterpart of a corresponding endpoint for native models:
[POST /api/v2/projects/{projectId}/models/{modelId}/featureImpact/][post-apiv2projectsprojectidmodelsmodelidfeatureimpact].

### Body parameter

```
{
  "properties": {
    "rowCount": {
      "description": "The sample size to use for Feature Impact computation. It is possible to re-compute Feature Impact with a different row count.",
      "maximum": 100000,
      "minimum": 10,
      "type": "integer",
      "x-versionadded": "v2.21"
    }
  },
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| imageId | path | string | true | ID of the image of the custom inference model to submit feature impact job for. |
| body | body | FeatureImpactCreatePayload | false | none |

### Example responses

> 202 Response

```
{
  "properties": {
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] for tracking job status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Feature impact request has been successfully submitted. | FeatureImpactCreateResponse |
| 404 | Not Found | If feature impact has already been submitted. The response will include jobId property which can be used for tracking its progress. | None |
| 422 | Unprocessable Entity | If job cannot be submitted because of invalid input or model state: (1) if image id does not correspond to a custom inference model, (2) if training data is not yet assigned or assignment is in progress, (3) if the rowCount exceeds the minimum or maximum value for this model's training data. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | Contains a url for tracking job status: [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid]. |

## Get custom model resource limits

Operation path: `GET /api/v2/customModelLimits/`

Authentication requirements: `BearerAuth`

Retrieve custom model resource limits the user has access to.

### Example responses

> 200 Response

```
{
  "properties": {
    "desiredCustomModelContainerSize": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelContainerSize": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelReplicasPerDeployment": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelTestingParallelUsers": {
      "description": "The maximum number of parallel users that can be used for Custom Model Testing checks",
      "exclusiveMinimum": 0,
      "maximum": 20,
      "type": "integer"
    },
    "minCustomModelContainerSize": {
      "description": "The minimum memory that might be allocated by the custom-model.",
      "maximum": 134217728,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versionadded": "v2.37"
    }
  },
  "required": [
    "maxCustomModelTestingParallelUsers"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelResourceLimits |

## List custom model tests

Operation path: `GET /api/v2/customModelTests/`

Authentication requirements: `BearerAuth`

Retrieve the testing history for a model.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| resourceBundleId | query | string,null | false | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| maximumMemory | query | integer,null | false | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | query | string,null | false | Network egress policy. |
| desiredMemory | query | integer,null | false | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| replicas | query | integer,null | false | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | query | boolean,null | false | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| customModelId | query | string | true | ID of the Custom Model to retrieve testing history for. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| networkEgressPolicy | [NONE, PUBLIC] |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model tests.",
      "items": {
        "properties": {
          "completedAt": {
            "description": "ISO-8601 timestamp of when the testing attempt was completed.",
            "type": "string"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the testing entry was created.",
            "type": "string"
          },
          "createdBy": {
            "description": "The username of the user that started the custom model test.",
            "type": "string"
          },
          "customModel": {
            "description": "Custom model associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the custom model.",
                "type": "string"
              },
              "name": {
                "description": "User-friendly name of the model.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "customModelImageId": {
            "description": "If testing was successful, ID of the custom inference model image that can be used for a deployment, otherwise null.",
            "type": [
              "string",
              "null"
            ]
          },
          "customModelVersion": {
            "description": "Custom model version associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the custom model version.",
                "type": "string"
              },
              "label": {
                "description": "User-friendly name of the model version.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "datasetId": {
            "description": "ID of the dataset used for testing.",
            "type": "string"
          },
          "datasetVersionId": {
            "description": "ID of the specific dataset version used for testing.",
            "type": "string"
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "executionEnvironment": {
            "description": "Execution environment associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the execution environment.",
                "type": "string"
              },
              "name": {
                "description": "User-friendly name of the execution environment.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "executionEnvironmentVersion": {
            "description": "Execution environment version associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the execution environment version.",
                "type": "string"
              },
              "label": {
                "description": "User-friendly name of the execution environment version.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "id": {
            "description": "ID of the testing history entry.",
            "type": "string"
          },
          "imageType": {
            "description": "The type of the image, either customModelImage if the testing attempt is using a customModelImage as its model or customModelVersion if the testing attempt is using a customModelVersion with dependency management.",
            "enum": [
              "customModelImage",
              "customModelVersion"
            ],
            "type": "string"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ]
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "overallStatus": {
            "description": "The overall status of the testing history entry.",
            "enum": [
              "not_tested",
              "queued",
              "failed",
              "canceled",
              "succeeded",
              "in_progress",
              "aborted",
              "warning",
              "skipped"
            ],
            "type": "string"
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ]
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "testingStatus": {
            "description": "Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.",
            "properties": {
              "errorCheck": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "longRunningService": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "nullValueImputation": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "sideEffects": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "completedAt",
          "created",
          "createdBy",
          "customModel",
          "customModelImageId",
          "customModelVersion",
          "datasetId",
          "datasetVersionId",
          "executionEnvironment",
          "executionEnvironmentVersion",
          "id",
          "overallStatus",
          "testingStatus"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelTestsListResponse |

## Create custom model test

Operation path: `POST /api/v2/customModelTests/`

Authentication requirements: `BearerAuth`

Test a custom inference model. This will start a job to check that the custom model can make predictions against the supplied dataset without breaking.

### Body parameter

```
{
  "properties": {
    "configuration": {
      "description": "Key value map of Testing type and Testing type config.",
      "properties": {
        "errorCheck": {
          "default": "fail",
          "description": "Ensures that the model can make predictions on the provided test dataset.",
          "enum": [
            "fail",
            "skip"
          ],
          "type": "string"
        },
        "longRunningService": {
          "default": "fail",
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "enum": [
            "fail"
          ],
          "type": "string"
        },
        "nullValueImputation": {
          "default": "warn",
          "description": "Verifies that the model can impute null values. Required for Feature Impact.",
          "enum": [
            "skip",
            "warn",
            "fail"
          ],
          "type": "string"
        },
        "sideEffects": {
          "default": "warn",
          "description": "Verifies that predictions made on the dataset match row-wise predictions for the same dataset. Fails if the predictions do not match.",
          "enum": [
            "skip",
            "warn",
            "fail"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "customModelId": {
      "description": "The ID of the custom model to test.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The ID of custom model version to use.",
      "type": "string"
    },
    "datasetId": {
      "description": "The ID of the dataset to use for testing. Dataset ID is required for regular (non-unstructured) custom models.",
      "type": "string"
    },
    "datasetVersionId": {
      "description": "The ID of the version of the dataset item to use as the testing dataset. Defaults to the latest version.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "environmentId": {
      "description": "The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "environmentVersionId": {
      "description": "The ID of environment version to use. Defaults to the latest successfully built version.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | CustomModelTests | false | none |

### Example responses

> 202 Response

```
{
  "properties": {
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Model testing job successfully started. | CustomModelAsyncOperationResponse |
| 403 | Forbidden | No access to use data for testing custom model. | None |
| 404 | Not Found | Custom model or dataset not found. | None |
| 422 | Unprocessable Entity | Custom Model Testing cannot be submitted because of invalid input or model state: (1) if user does not have permission to create legacy conversion environment, (2) testing is already in progress for the custom model, (3) dataset used for testing is not snapshotted,(4) other cases. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL that can be polled to check the status. |

## Cancel custom model test by custom model test ID

Operation path: `DELETE /api/v2/customModelTests/{customModelTestId}/`

Authentication requirements: `BearerAuth`

Cancel custom inference model testing.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelTestId | path | string | true | ID of the testing history attempt. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | Testing canceled. | None |
| 404 | Not Found | Testing attempt not found. | None |
| 409 | Conflict | Testing attempt has already reached a terminal state. | None |

## Get custom model test by custom model test ID

Operation path: `GET /api/v2/customModelTests/{customModelTestId}/`

Authentication requirements: `BearerAuth`

Retrieve a specific testing history entry for a custom model.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelTestId | path | string | true | ID of the testing history attempt. |

### Example responses

> 200 Response

```
{
  "properties": {
    "completedAt": {
      "description": "ISO-8601 timestamp of when the testing attempt was completed.",
      "type": "string"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the testing entry was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the user that started the custom model test.",
      "type": "string"
    },
    "customModel": {
      "description": "Custom model associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "name": {
          "description": "User-friendly name of the model.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "type": "object"
    },
    "customModelImageId": {
      "description": "If testing was successful, ID of the custom inference model image that can be used for a deployment, otherwise null.",
      "type": [
        "string",
        "null"
      ]
    },
    "customModelVersion": {
      "description": "Custom model version associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the custom model version.",
          "type": "string"
        },
        "label": {
          "description": "User-friendly name of the model version.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "label"
      ],
      "type": "object"
    },
    "datasetId": {
      "description": "ID of the dataset used for testing.",
      "type": "string"
    },
    "datasetVersionId": {
      "description": "ID of the specific dataset version used for testing.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "executionEnvironment": {
      "description": "Execution environment associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the execution environment.",
          "type": "string"
        },
        "name": {
          "description": "User-friendly name of the execution environment.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "type": "object"
    },
    "executionEnvironmentVersion": {
      "description": "Execution environment version associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the execution environment version.",
          "type": "string"
        },
        "label": {
          "description": "User-friendly name of the execution environment version.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "label"
      ],
      "type": "object"
    },
    "id": {
      "description": "ID of the testing history entry.",
      "type": "string"
    },
    "imageType": {
      "description": "The type of the image, either customModelImage if the testing attempt is using a customModelImage as its model or customModelVersion if the testing attempt is using a customModelVersion with dependency management.",
      "enum": [
        "customModelImage",
        "customModelVersion"
      ],
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "overallStatus": {
      "description": "The overall status of the testing history entry.",
      "enum": [
        "not_tested",
        "queued",
        "failed",
        "canceled",
        "succeeded",
        "in_progress",
        "aborted",
        "warning",
        "skipped"
      ],
      "type": "string"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "testingStatus": {
      "description": "Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.",
      "properties": {
        "errorCheck": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "longRunningService": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "nullValueImputation": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "sideEffects": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "completedAt",
    "created",
    "createdBy",
    "customModel",
    "customModelImageId",
    "customModelVersion",
    "datasetId",
    "datasetVersionId",
    "executionEnvironment",
    "executionEnvironmentVersion",
    "id",
    "overallStatus",
    "testingStatus"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelTestsResponse |

## Get custom model test log by custom model test ID

Operation path: `GET /api/v2/customModelTests/{customModelTestId}/log/`

Authentication requirements: `BearerAuth`

Retrieve the logs from a model testing attempt.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelTestId | path | string | true | ID of the testing history attempt. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The log file will be downloaded. | None |
| 404 | Not Found | No testing log found. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 200 | Content-Disposition | string |  | Contains an auto generated filename for this download ("attachment;filename=testing-.log"). |

## Get custom model test log tail by custom model test ID

Operation path: `GET /api/v2/customModelTests/{customModelTestId}/tail/`

Authentication requirements: `BearerAuth`

Retrieve the last N lines of logs from a model testing attempt.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| lines | query | integer | true | Number of lines from the log to retrieve (1-1000, default 100). |
| customModelTestId | path | string | true | ID of the testing history attempt. |

### Example responses

> 200 Response

```
{
  "properties": {
    "log": {
      "description": "The N lines of the log.",
      "type": "string"
    }
  },
  "required": [
    "log"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The log tail was retrieved. | CustomModelTestsLogTailResponse |
| 400 | Bad Request | Requested number of lines is invalid. | None |
| 404 | Not Found | The testing history entry cannot be found. | None |

## List custom models

Operation path: `GET /api/v2/customModels/`

Authentication requirements: `BearerAuth`

Retrieve metadata for all custom models the user has access to.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| customModelType | query | string | false | If "training" specified, only Custom Training Tasks will be returned. If "inference" specified, only Custom Inference Models will be returned. If not specified, all custom models will be returned. After deprecation, only Custom Inference Models will be returned |
| targetType | query | string | false | The target type of the custom model. |
| isDeployed | query | string | false | If TRUE, only deployed custom models will be returned. If FALSE, only not deployed custom models will be returned. If not specified, all custom models will be returned. |
| orderBy | query | string | false | Sort order which will be applied to custom model list, valid options are "created", "updated". Prefix the attribute name with a dash to sort in descending order, e.g. orderBy="-created". By default, the orderBy parameter is None which will result in custom models being returned in order of creation time descending. |
| searchFor | query | string | false | String to search for occurrence in custom model's description, language and name. Search is case insensitive. If not specified, all custom models will be returned. |
| tagKeys | query | string | false | List of tag keys to filter by. |
| tagValues | query | string | false | List of tag values to filter by. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| customModelType | [training, inference] |
| targetType | [Binary, Regression, Multiclass, Anomaly, Transform, TextGeneration, GeoPoint, Unstructured, VectorDatabase, AgenticWorkflow, MCP] |
| isDeployed | [false, False, true, True] |
| orderBy | [created, -created, updated, -updated] |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom models.",
      "items": {
        "properties": {
          "calibratePredictions": {
            "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
            "type": "boolean"
          },
          "classLabels": {
            "description": "If the model is a multiclass classifier, these are the model's class labels",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the model was created.",
            "type": "string"
          },
          "createdBy": {
            "description": "The username of the custom model creator.",
            "type": "string"
          },
          "customModelType": {
            "description": "The type of custom model.",
            "enum": [
              "training",
              "inference"
            ],
            "type": "string"
          },
          "deploymentsCount": {
            "description": "The number of models deployed.",
            "type": "integer"
          },
          "description": {
            "description": "The description of the model.",
            "type": "string"
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "gitModelVersion": {
            "description": "Contains git related attributes that are associated with a custom model version.",
            "properties": {
              "commitUrl": {
                "description": "A URL to the commit page in GitHub repository.",
                "format": "uri",
                "type": "string"
              },
              "mainBranchCommitSha": {
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": "string"
              },
              "pullRequestCommitSha": {
                "default": null,
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": [
                  "string",
                  "null"
                ]
              },
              "refName": {
                "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                "type": "string"
              }
            },
            "required": [
              "commitUrl",
              "mainBranchCommitSha",
              "pullRequestCommitSha",
              "refName"
            ],
            "type": "object"
          },
          "id": {
            "description": "The ID of the custom model.",
            "type": "string"
          },
          "isTrainingDataForVersionsPermanentlyEnabled": {
            "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
            "type": "boolean",
            "x-versionadded": "v2.30"
          },
          "language": {
            "description": "The programming language used to write the model.",
            "type": "string"
          },
          "latestVersion": {
            "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
            "properties": {
              "baseEnvironmentId": {
                "description": "The base environment to use with this model version.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.22"
              },
              "baseEnvironmentVersionId": {
                "description": "The base environment version to use with this model version.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.25"
              },
              "created": {
                "description": "ISO-8601 timestamp of when the model was created.",
                "type": "string"
              },
              "customModelId": {
                "description": "The ID of the custom model.",
                "type": "string"
              },
              "dependencies": {
                "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
                "items": {
                  "properties": {
                    "constraints": {
                      "description": "Constraints that should be applied to the dependency when installed.",
                      "items": {
                        "properties": {
                          "constraintType": {
                            "description": "The constraint type to apply to the version.",
                            "enum": [
                              "<",
                              "<=",
                              "==",
                              ">=",
                              ">"
                            ],
                            "type": "string"
                          },
                          "version": {
                            "description": "The version label to use in the constraint.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "constraintType",
                          "version"
                        ],
                        "type": "object"
                      },
                      "maxItems": 100,
                      "type": "array"
                    },
                    "extras": {
                      "description": "The dependency's package extras.",
                      "type": "string"
                    },
                    "line": {
                      "description": "The original line from the requirements.txt file.",
                      "type": "string"
                    },
                    "lineNumber": {
                      "description": "The line number the requirement was on in requirements.txt.",
                      "type": "integer"
                    },
                    "packageName": {
                      "description": "The dependency's package name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraints",
                    "line",
                    "lineNumber",
                    "packageName"
                  ],
                  "type": "object"
                },
                "maxItems": 1000,
                "type": "array",
                "x-versionadded": "v2.22"
              },
              "description": {
                "description": "Description of a custom model version.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "desiredMemory": {
                "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
                "maximum": 15032385536,
                "minimum": 134217728,
                "type": [
                  "integer",
                  "null"
                ],
                "x-versiondeprecated": "v2.24"
              },
              "gitModelVersion": {
                "description": "Contains git related attributes that are associated with a custom model version.",
                "properties": {
                  "commitUrl": {
                    "description": "A URL to the commit page in GitHub repository.",
                    "format": "uri",
                    "type": "string"
                  },
                  "mainBranchCommitSha": {
                    "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                    "maxLength": 40,
                    "minLength": 40,
                    "type": "string"
                  },
                  "pullRequestCommitSha": {
                    "default": null,
                    "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                    "maxLength": 40,
                    "minLength": 40,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "refName": {
                    "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                    "type": "string"
                  }
                },
                "required": [
                  "commitUrl",
                  "mainBranchCommitSha",
                  "pullRequestCommitSha",
                  "refName"
                ],
                "type": "object"
              },
              "holdoutData": {
                "description": "Holdout data configuration.",
                "properties": {
                  "datasetId": {
                    "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetName": {
                    "description": "A user-friendly name for the dataset.",
                    "maxLength": 255,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetVersionId": {
                    "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "partitionColumn": {
                    "description": "The name of the column containing the partition assignments.",
                    "maxLength": 500,
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "id": {
                "description": "the ID of the custom model version created.",
                "type": "string"
              },
              "isFrozen": {
                "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
                "type": "boolean",
                "x-versiondeprecated": "v2.34"
              },
              "items": {
                "description": "List of file items.",
                "items": {
                  "properties": {
                    "commitSha": {
                      "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "created": {
                      "description": "ISO-8601 timestamp of when the file item was created.",
                      "type": "string"
                    },
                    "fileName": {
                      "description": "The name of the file item.",
                      "type": "string"
                    },
                    "filePath": {
                      "description": "The path of the file item.",
                      "type": "string"
                    },
                    "fileSource": {
                      "description": "The source of the file item.",
                      "type": "string"
                    },
                    "id": {
                      "description": "ID of the file item.",
                      "type": "string"
                    },
                    "ref": {
                      "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryFilePath": {
                      "description": "Full path to the file in the remote repository.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryLocation": {
                      "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryName": {
                      "description": "Name of the repository from which the file was pulled.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "storagePath": {
                      "description": "Storage path of the file item.",
                      "type": "string",
                      "x-versiondeprecated": "2.25"
                    },
                    "workspaceId": {
                      "description": "The workspace ID of the file item.",
                      "type": "string",
                      "x-versiondeprecated": "2.25"
                    }
                  },
                  "required": [
                    "created",
                    "fileName",
                    "filePath",
                    "fileSource",
                    "id",
                    "storagePath",
                    "workspaceId"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "label": {
                "description": "A semantic version number of the major and minor version.",
                "type": "string"
              },
              "maximumMemory": {
                "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
                "maximum": 15032385536,
                "minimum": 134217728,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "networkEgressPolicy": {
                "description": "Network egress policy.",
                "enum": [
                  "NONE",
                  "PUBLIC"
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "replicas": {
                "description": "A fixed number of replicas that will be set for the given custom-model.",
                "exclusiveMinimum": 0,
                "maximum": 25,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "requiredMetadata": {
                "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
                "type": "object",
                "x-versionadded": "v2.25",
                "x-versiondeprecated": "v2.26"
              },
              "requiredMetadataValues": {
                "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
                "items": {
                  "properties": {
                    "fieldName": {
                      "description": "The required field name. This value will be added as an environment variable when running custom models.",
                      "type": "string"
                    },
                    "value": {
                      "description": "The value for the given field.",
                      "maxLength": 100,
                      "type": "string"
                    }
                  },
                  "required": [
                    "fieldName",
                    "value"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array",
                "x-versionadded": "v2.26"
              },
              "requiresHa": {
                "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
                "type": [
                  "boolean",
                  "null"
                ],
                "x-versionadded": "v2.26"
              },
              "resourceBundleId": {
                "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.33"
              },
              "trainingData": {
                "description": "Training data configuration.",
                "properties": {
                  "assignmentError": {
                    "description": "Training data configuration.",
                    "properties": {
                      "message": {
                        "description": "Training data assignment error message",
                        "maxLength": 10000,
                        "type": [
                          "string",
                          "null"
                        ],
                        "x-versionadded": "v2.31"
                      }
                    },
                    "type": "object"
                  },
                  "assignmentInProgress": {
                    "default": false,
                    "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
                    "type": "boolean"
                  },
                  "datasetId": {
                    "description": "The ID of the dataset.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetName": {
                    "description": "A user-friendly name for the dataset.",
                    "maxLength": 255,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetVersionId": {
                    "description": "The ID of the dataset version.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "versionMajor": {
                "description": "The major version number, incremented on deployments or larger file changes.",
                "type": "integer"
              },
              "versionMinor": {
                "description": "The minor version number, incremented on general file changes.",
                "type": "integer"
              }
            },
            "required": [
              "created",
              "customModelId",
              "description",
              "id",
              "isFrozen",
              "items",
              "label",
              "versionMajor",
              "versionMinor"
            ],
            "type": "object"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "name": {
            "description": "The name of the model.",
            "type": "string"
          },
          "negativeClassLabel": {
            "description": "If the model is a binary classifier, this is the negative class label.",
            "type": "string"
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "DR_API_ACCESS",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "playgroundId": {
            "description": "The ID of the GenAI Playground associated with the given custom inference model.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "positiveClassLabel": {
            "description": "If the model is a binary classifier, this is the positive class label.",
            "type": "string"
          },
          "predictionThreshold": {
            "description": "If the model is a binary classifier, this is the prediction threshold.",
            "type": "number"
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26",
            "x-versiondeprecated": "v2.30"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "supportsAnomalyDetection": {
            "description": "Whether the model supports anomaly detection.",
            "type": "boolean"
          },
          "supportsBinaryClassification": {
            "description": "Whether the model supports binary classification.",
            "type": "boolean"
          },
          "supportsRegression": {
            "description": "Whether the model supports regression.",
            "type": "boolean"
          },
          "tags": {
            "description": "A list of the custom model tag.",
            "items": {
              "properties": {
                "id": {
                  "description": "The ID of the tag.",
                  "type": "string"
                },
                "name": {
                  "description": "The name of the tag.",
                  "type": "string"
                },
                "value": {
                  "description": "The value of the tag.",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "value"
              ],
              "type": "object",
              "x-versionadded": "v2.39"
            },
            "maxItems": 1000,
            "type": "array",
            "x-versionadded": "v2.39"
          },
          "targetName": {
            "description": "The name of the target for labeling predictions.",
            "type": "string"
          },
          "targetType": {
            "description": "The target type of custom model.",
            "enum": [
              "Binary",
              "Regression",
              "Multiclass",
              "Anomaly",
              "Transform",
              "TextGeneration",
              "GeoPoint",
              "Unstructured",
              "VectorDatabase",
              "AgenticWorkflow",
              "MCP"
            ],
            "type": "string"
          },
          "template": {
            "description": "If not null, the template used to create the custom model.",
            "properties": {
              "modelType": {
                "description": "The type of template the model was created from.",
                "enum": [
                  "nimModel",
                  "invalid"
                ],
                "type": "string",
                "x-versionadded": "v2.36"
              },
              "templateId": {
                "description": "The ID of the template used to create this custom model.",
                "type": "string",
                "x-versionadded": "v2.36"
              }
            },
            "required": [
              "modelType",
              "templateId"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "trainingDataAssignmentInProgress": {
            "description": "Indicates if training data is currently being assigned to the custom model.",
            "type": "boolean"
          },
          "trainingDataFileName": {
            "description": "The name of the file that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDataPartitionColumn": {
            "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDatasetId": {
            "description": "The ID of the dataset that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDatasetVersionId": {
            "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "updated": {
            "description": "ISO-8601 timestamp of when model was last updated.",
            "type": "string"
          },
          "userProvidedId": {
            "description": "A user-provided unique ID associated with the given custom inference model.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "created",
          "createdBy",
          "deploymentsCount",
          "description",
          "id",
          "language",
          "latestVersion",
          "name",
          "supportsBinaryClassification",
          "supportsRegression",
          "targetType",
          "template",
          "updated"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelListResponse |

## Create custom model

Operation path: `POST /api/v2/customModels/`

Authentication requirements: `BearerAuth`

Creates a new custom model and returns the newly created metadata record for it.

All custom models must support at least one target type (binaryClassification, regression).
Custom inference models can only support a single target type.  A regression model is
expected to produce predictions that are arbitrary floating-point or integer numbers.
A classification model is expected to return predictions with probability scores for each
class.  For example, a binary classification model might return:

.. code:: Python

```
{
    positiveClassLabel: probability,
    negativeClassLabel: 1.0 - probability
}
```

For Custom Inference Models, the `file` parameter must be either a tarball or zip archive
containing, at minimum,
a script named `start_server.sh`.  It may contain additional files, including scripts and
precompiled binaries as well as data files.`start_server.sh` may execute these scripts
and/or binaries.  When this script is executed, it is run as part of an Environment
(specified via subsequent API calls), and all included scripts and binaries
can take advantage of any programming language interpreters, compilers, libraries,
or other tools included in the Environment.`start_server.sh` must be marked as executable
( `chmod +x`).

When `start_server.sh` is launched, it must launch and maintain
(in the foreground) a Web server that listens on two URLs:

- GET $URL_PREFIX/ This route must return a 200 response code with an empty body immediately
    if the server is ready to respond to prediction requests.  Otherwise it should
    either not accept the request, not respond to the request, or return a
    503 response code.
- POST $URL_PREFIX/predict_no_state/This route must accept as input a JSON object of the form: .. code-block:: Python {
    'X': {
        'col1': [...col1_data...],
        'col2': [...col2_data...],
        'col3': [...col3_data...],
        ...
    }
} The data lists will all be the same length. It must return a JSON object of the form: .. code-block:: Python {
    'predictions': [...predictions data...]
} The predictions data must correspond 1:1 to the rows in the input data lists. $URL_PREFIXis provided as an environment variable.  The Web server process must
re-read its value every time the process starts, as it may change.
It is an opaque string that is guaranteed to be a valid URL component,
but may contain path separators (/).

### Body parameter

```
{
  "properties": {
    "calibratePredictions": {
      "default": true,
      "description": "Whether model predictions should be calibrated by DataRobot.Only applies to anomaly detection training tasks; we recommend this if you have not already included calibration in your model code.Calibration improves the probability estimates of a model, and modifies the predictions of non-probabilistic models to be interpretable as probabilities. This will facilitate comparison to DataRobot models, and give access to ROC curve insights on external data.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "classLabels": {
      "description": "The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string",
      "x-versiondeprecated": "v2.28"
    },
    "description": {
      "description": "The user-friendly description of the model.",
      "maxLength": 10000,
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "Programming language name in which model is written.",
      "maxLength": 500,
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The user-friendly name for the model.",
      "maxLength": 255,
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "The negative class label for custom models that support binary classification. If specified, `positiveClassLabel` must also be specified. Default value is \"0\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "The positive class label for custom models that support binary classification. If specified, `negativeClassLabel` must also be specified. Default value is \"1\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "predictionThreshold": {
      "default": 0.5,
      "description": "The prediction threshold which will be used for binary classification custom model.",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean",
      "x-versiondeprecated": "v2.23"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean",
      "x-versiondeprecated": "v2.23"
    },
    "tags": {
      "description": "The list of a tag's name/value pairs.",
      "items": {
        "properties": {
          "name": {
            "description": "The name of the tag.",
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "targetType": {
      "description": "The target type of the custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string",
      "x-versionadded": "v2.23"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string",
      "x-versionadded": "v2.29"
    }
  },
  "required": [
    "customModelType",
    "name"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | CustomModelCreate | false | none |

### Example responses

> 201 Response

```
{
  "properties": {
    "calibratePredictions": {
      "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
      "type": "boolean"
    },
    "classLabels": {
      "description": "If the model is a multiclass classifier, these are the model's class labels",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the custom model creator.",
      "type": "string"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string"
    },
    "deploymentsCount": {
      "description": "The number of models deployed.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the model.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "The programming language used to write the model.",
      "type": "string"
    },
    "latestVersion": {
      "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
      "properties": {
        "baseEnvironmentId": {
          "description": "The base environment to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.22"
        },
        "baseEnvironmentVersionId": {
          "description": "The base environment version to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.25"
        },
        "created": {
          "description": "ISO-8601 timestamp of when the model was created.",
          "type": "string"
        },
        "customModelId": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "dependencies": {
          "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
          "items": {
            "properties": {
              "constraints": {
                "description": "Constraints that should be applied to the dependency when installed.",
                "items": {
                  "properties": {
                    "constraintType": {
                      "description": "The constraint type to apply to the version.",
                      "enum": [
                        "<",
                        "<=",
                        "==",
                        ">=",
                        ">"
                      ],
                      "type": "string"
                    },
                    "version": {
                      "description": "The version label to use in the constraint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraintType",
                    "version"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "extras": {
                "description": "The dependency's package extras.",
                "type": "string"
              },
              "line": {
                "description": "The original line from the requirements.txt file.",
                "type": "string"
              },
              "lineNumber": {
                "description": "The line number the requirement was on in requirements.txt.",
                "type": "integer"
              },
              "packageName": {
                "description": "The dependency's package name.",
                "type": "string"
              }
            },
            "required": [
              "constraints",
              "line",
              "lineNumber",
              "packageName"
            ],
            "type": "object"
          },
          "maxItems": 1000,
          "type": "array",
          "x-versionadded": "v2.22"
        },
        "description": {
          "description": "Description of a custom model version.",
          "type": [
            "string",
            "null"
          ]
        },
        "desiredMemory": {
          "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ],
          "x-versiondeprecated": "v2.24"
        },
        "gitModelVersion": {
          "description": "Contains git related attributes that are associated with a custom model version.",
          "properties": {
            "commitUrl": {
              "description": "A URL to the commit page in GitHub repository.",
              "format": "uri",
              "type": "string"
            },
            "mainBranchCommitSha": {
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": "string"
            },
            "pullRequestCommitSha": {
              "default": null,
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": [
                "string",
                "null"
              ]
            },
            "refName": {
              "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
              "type": "string"
            }
          },
          "required": [
            "commitUrl",
            "mainBranchCommitSha",
            "pullRequestCommitSha",
            "refName"
          ],
          "type": "object"
        },
        "holdoutData": {
          "description": "Holdout data configuration.",
          "properties": {
            "datasetId": {
              "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "partitionColumn": {
              "description": "The name of the column containing the partition assignments.",
              "maxLength": 500,
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "id": {
          "description": "the ID of the custom model version created.",
          "type": "string"
        },
        "isFrozen": {
          "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
          "type": "boolean",
          "x-versiondeprecated": "v2.34"
        },
        "items": {
          "description": "List of file items.",
          "items": {
            "properties": {
              "commitSha": {
                "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "created": {
                "description": "ISO-8601 timestamp of when the file item was created.",
                "type": "string"
              },
              "fileName": {
                "description": "The name of the file item.",
                "type": "string"
              },
              "filePath": {
                "description": "The path of the file item.",
                "type": "string"
              },
              "fileSource": {
                "description": "The source of the file item.",
                "type": "string"
              },
              "id": {
                "description": "ID of the file item.",
                "type": "string"
              },
              "ref": {
                "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryFilePath": {
                "description": "Full path to the file in the remote repository.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryLocation": {
                "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryName": {
                "description": "Name of the repository from which the file was pulled.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "storagePath": {
                "description": "Storage path of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              },
              "workspaceId": {
                "description": "The workspace ID of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              }
            },
            "required": [
              "created",
              "fileName",
              "filePath",
              "fileSource",
              "id",
              "storagePath",
              "workspaceId"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array"
        },
        "label": {
          "description": "A semantic version number of the major and minor version.",
          "type": "string"
        },
        "maximumMemory": {
          "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ]
        },
        "networkEgressPolicy": {
          "description": "Network egress policy.",
          "enum": [
            "NONE",
            "PUBLIC"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "replicas": {
          "description": "A fixed number of replicas that will be set for the given custom-model.",
          "exclusiveMinimum": 0,
          "maximum": 25,
          "type": [
            "integer",
            "null"
          ]
        },
        "requiredMetadata": {
          "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
          "type": "object",
          "x-versionadded": "v2.25",
          "x-versiondeprecated": "v2.26"
        },
        "requiredMetadataValues": {
          "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
          "items": {
            "properties": {
              "fieldName": {
                "description": "The required field name. This value will be added as an environment variable when running custom models.",
                "type": "string"
              },
              "value": {
                "description": "The value for the given field.",
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "fieldName",
              "value"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array",
          "x-versionadded": "v2.26"
        },
        "requiresHa": {
          "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
          "type": [
            "boolean",
            "null"
          ],
          "x-versionadded": "v2.26"
        },
        "resourceBundleId": {
          "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.33"
        },
        "trainingData": {
          "description": "Training data configuration.",
          "properties": {
            "assignmentError": {
              "description": "Training data configuration.",
              "properties": {
                "message": {
                  "description": "Training data assignment error message",
                  "maxLength": 10000,
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-versionadded": "v2.31"
                }
              },
              "type": "object"
            },
            "assignmentInProgress": {
              "default": false,
              "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
              "type": "boolean"
            },
            "datasetId": {
              "description": "The ID of the dataset.",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "versionMajor": {
          "description": "The major version number, incremented on deployments or larger file changes.",
          "type": "integer"
        },
        "versionMinor": {
          "description": "The minor version number, incremented on general file changes.",
          "type": "integer"
        }
      },
      "required": [
        "created",
        "customModelId",
        "description",
        "id",
        "isFrozen",
        "items",
        "label",
        "versionMajor",
        "versionMinor"
      ],
      "type": "object"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The name of the model.",
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "If the model is a binary classifier, this is the negative class label.",
      "type": "string"
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "If the model is a binary classifier, this is the positive class label.",
      "type": "string"
    },
    "predictionThreshold": {
      "description": "If the model is a binary classifier, this is the prediction threshold.",
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "supportsAnomalyDetection": {
      "description": "Whether the model supports anomaly detection.",
      "type": "boolean"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean"
    },
    "tags": {
      "description": "A list of the custom model tag.",
      "items": {
        "properties": {
          "id": {
            "description": "The ID of the tag.",
            "type": "string"
          },
          "name": {
            "description": "The name of the tag.",
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions.",
      "type": "string"
    },
    "targetType": {
      "description": "The target type of custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string"
    },
    "template": {
      "description": "If not null, the template used to create the custom model.",
      "properties": {
        "modelType": {
          "description": "The type of template the model was created from.",
          "enum": [
            "nimModel",
            "invalid"
          ],
          "type": "string",
          "x-versionadded": "v2.36"
        },
        "templateId": {
          "description": "The ID of the template used to create this custom model.",
          "type": "string",
          "x-versionadded": "v2.36"
        }
      },
      "required": [
        "modelType",
        "templateId"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "trainingDataAssignmentInProgress": {
      "description": "Indicates if training data is currently being assigned to the custom model.",
      "type": "boolean"
    },
    "trainingDataFileName": {
      "description": "The name of the file that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDataPartitionColumn": {
      "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetId": {
      "description": "The ID of the dataset that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetVersionId": {
      "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "description": "ISO-8601 timestamp of when model was last updated.",
      "type": "string"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "created",
    "createdBy",
    "deploymentsCount",
    "description",
    "id",
    "language",
    "latestVersion",
    "name",
    "supportsBinaryClassification",
    "supportsRegression",
    "targetType",
    "template",
    "updated"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Created. | CustomModelResponse |
| 403 | Forbidden | Custom model creation is not enabled. | None |
| 422 | Unprocessable Entity | Input parameters are invalid. | None |

## Clone custom model

Operation path: `POST /api/v2/customModels/fromCustomModel/`

Authentication requirements: `BearerAuth`

Creates a copy of the provided custom model, including metadata, versions of that model, and uploaded files. Associates the new versions with files owned by the custom model.

### Body parameter

```
{
  "properties": {
    "customModelId": {
      "description": "The ID of the custom model to copy.",
      "type": "string"
    }
  },
  "required": [
    "customModelId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | CustomModelCopy | false | none |

### Example responses

> 201 Response

```
{
  "properties": {
    "calibratePredictions": {
      "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
      "type": "boolean"
    },
    "classLabels": {
      "description": "If the model is a multiclass classifier, these are the model's class labels",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the custom model creator.",
      "type": "string"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string"
    },
    "deploymentsCount": {
      "description": "The number of models deployed.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the model.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "The programming language used to write the model.",
      "type": "string"
    },
    "latestVersion": {
      "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
      "properties": {
        "baseEnvironmentId": {
          "description": "The base environment to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.22"
        },
        "baseEnvironmentVersionId": {
          "description": "The base environment version to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.25"
        },
        "created": {
          "description": "ISO-8601 timestamp of when the model was created.",
          "type": "string"
        },
        "customModelId": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "dependencies": {
          "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
          "items": {
            "properties": {
              "constraints": {
                "description": "Constraints that should be applied to the dependency when installed.",
                "items": {
                  "properties": {
                    "constraintType": {
                      "description": "The constraint type to apply to the version.",
                      "enum": [
                        "<",
                        "<=",
                        "==",
                        ">=",
                        ">"
                      ],
                      "type": "string"
                    },
                    "version": {
                      "description": "The version label to use in the constraint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraintType",
                    "version"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "extras": {
                "description": "The dependency's package extras.",
                "type": "string"
              },
              "line": {
                "description": "The original line from the requirements.txt file.",
                "type": "string"
              },
              "lineNumber": {
                "description": "The line number the requirement was on in requirements.txt.",
                "type": "integer"
              },
              "packageName": {
                "description": "The dependency's package name.",
                "type": "string"
              }
            },
            "required": [
              "constraints",
              "line",
              "lineNumber",
              "packageName"
            ],
            "type": "object"
          },
          "maxItems": 1000,
          "type": "array",
          "x-versionadded": "v2.22"
        },
        "description": {
          "description": "Description of a custom model version.",
          "type": [
            "string",
            "null"
          ]
        },
        "desiredMemory": {
          "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ],
          "x-versiondeprecated": "v2.24"
        },
        "gitModelVersion": {
          "description": "Contains git related attributes that are associated with a custom model version.",
          "properties": {
            "commitUrl": {
              "description": "A URL to the commit page in GitHub repository.",
              "format": "uri",
              "type": "string"
            },
            "mainBranchCommitSha": {
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": "string"
            },
            "pullRequestCommitSha": {
              "default": null,
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": [
                "string",
                "null"
              ]
            },
            "refName": {
              "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
              "type": "string"
            }
          },
          "required": [
            "commitUrl",
            "mainBranchCommitSha",
            "pullRequestCommitSha",
            "refName"
          ],
          "type": "object"
        },
        "holdoutData": {
          "description": "Holdout data configuration.",
          "properties": {
            "datasetId": {
              "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "partitionColumn": {
              "description": "The name of the column containing the partition assignments.",
              "maxLength": 500,
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "id": {
          "description": "the ID of the custom model version created.",
          "type": "string"
        },
        "isFrozen": {
          "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
          "type": "boolean",
          "x-versiondeprecated": "v2.34"
        },
        "items": {
          "description": "List of file items.",
          "items": {
            "properties": {
              "commitSha": {
                "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "created": {
                "description": "ISO-8601 timestamp of when the file item was created.",
                "type": "string"
              },
              "fileName": {
                "description": "The name of the file item.",
                "type": "string"
              },
              "filePath": {
                "description": "The path of the file item.",
                "type": "string"
              },
              "fileSource": {
                "description": "The source of the file item.",
                "type": "string"
              },
              "id": {
                "description": "ID of the file item.",
                "type": "string"
              },
              "ref": {
                "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryFilePath": {
                "description": "Full path to the file in the remote repository.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryLocation": {
                "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryName": {
                "description": "Name of the repository from which the file was pulled.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "storagePath": {
                "description": "Storage path of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              },
              "workspaceId": {
                "description": "The workspace ID of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              }
            },
            "required": [
              "created",
              "fileName",
              "filePath",
              "fileSource",
              "id",
              "storagePath",
              "workspaceId"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array"
        },
        "label": {
          "description": "A semantic version number of the major and minor version.",
          "type": "string"
        },
        "maximumMemory": {
          "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ]
        },
        "networkEgressPolicy": {
          "description": "Network egress policy.",
          "enum": [
            "NONE",
            "PUBLIC"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "replicas": {
          "description": "A fixed number of replicas that will be set for the given custom-model.",
          "exclusiveMinimum": 0,
          "maximum": 25,
          "type": [
            "integer",
            "null"
          ]
        },
        "requiredMetadata": {
          "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
          "type": "object",
          "x-versionadded": "v2.25",
          "x-versiondeprecated": "v2.26"
        },
        "requiredMetadataValues": {
          "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
          "items": {
            "properties": {
              "fieldName": {
                "description": "The required field name. This value will be added as an environment variable when running custom models.",
                "type": "string"
              },
              "value": {
                "description": "The value for the given field.",
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "fieldName",
              "value"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array",
          "x-versionadded": "v2.26"
        },
        "requiresHa": {
          "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
          "type": [
            "boolean",
            "null"
          ],
          "x-versionadded": "v2.26"
        },
        "resourceBundleId": {
          "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.33"
        },
        "trainingData": {
          "description": "Training data configuration.",
          "properties": {
            "assignmentError": {
              "description": "Training data configuration.",
              "properties": {
                "message": {
                  "description": "Training data assignment error message",
                  "maxLength": 10000,
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-versionadded": "v2.31"
                }
              },
              "type": "object"
            },
            "assignmentInProgress": {
              "default": false,
              "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
              "type": "boolean"
            },
            "datasetId": {
              "description": "The ID of the dataset.",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "versionMajor": {
          "description": "The major version number, incremented on deployments or larger file changes.",
          "type": "integer"
        },
        "versionMinor": {
          "description": "The minor version number, incremented on general file changes.",
          "type": "integer"
        }
      },
      "required": [
        "created",
        "customModelId",
        "description",
        "id",
        "isFrozen",
        "items",
        "label",
        "versionMajor",
        "versionMinor"
      ],
      "type": "object"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The name of the model.",
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "If the model is a binary classifier, this is the negative class label.",
      "type": "string"
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "If the model is a binary classifier, this is the positive class label.",
      "type": "string"
    },
    "predictionThreshold": {
      "description": "If the model is a binary classifier, this is the prediction threshold.",
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "supportsAnomalyDetection": {
      "description": "Whether the model supports anomaly detection.",
      "type": "boolean"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean"
    },
    "tags": {
      "description": "A list of the custom model tag.",
      "items": {
        "properties": {
          "id": {
            "description": "The ID of the tag.",
            "type": "string"
          },
          "name": {
            "description": "The name of the tag.",
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions.",
      "type": "string"
    },
    "targetType": {
      "description": "The target type of custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string"
    },
    "template": {
      "description": "If not null, the template used to create the custom model.",
      "properties": {
        "modelType": {
          "description": "The type of template the model was created from.",
          "enum": [
            "nimModel",
            "invalid"
          ],
          "type": "string",
          "x-versionadded": "v2.36"
        },
        "templateId": {
          "description": "The ID of the template used to create this custom model.",
          "type": "string",
          "x-versionadded": "v2.36"
        }
      },
      "required": [
        "modelType",
        "templateId"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "trainingDataAssignmentInProgress": {
      "description": "Indicates if training data is currently being assigned to the custom model.",
      "type": "boolean"
    },
    "trainingDataFileName": {
      "description": "The name of the file that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDataPartitionColumn": {
      "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetId": {
      "description": "The ID of the dataset that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetVersionId": {
      "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "description": "ISO-8601 timestamp of when model was last updated.",
      "type": "string"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "created",
    "createdBy",
    "deploymentsCount",
    "description",
    "id",
    "language",
    "latestVersion",
    "name",
    "supportsBinaryClassification",
    "supportsRegression",
    "targetType",
    "template",
    "updated"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Successfully created copy. | CustomModelResponse |

## Create a custom model

Operation path: `POST /api/v2/customModels/fromModelTemplate/`

Authentication requirements: `BearerAuth`

Create a custom model from a template.

### Body parameter

```
{
  "properties": {
    "nimContainerTagOverride": {
      "description": "Allows to override the NIM container image tag.",
      "maxLength": 100,
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": "string"
    },
    "secretConfigId": {
      "description": "A secret configuration that is used by a custom model.",
      "type": [
        "string",
        "null"
      ]
    },
    "templateId": {
      "description": "The id of the custom model template.",
      "type": "string"
    }
  },
  "required": [
    "resourceBundleId",
    "templateId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | CustomModelCreateFromTemplatePayload | false | none |

### Example responses

> 201 Response

```
{
  "properties": {
    "customModelId": {
      "description": "The id of the created custom model.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The id of the created custom model version.",
      "type": "string"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Custom model created from template | CustomModelCreateFromTemplateResponse |
| 403 | Forbidden | UXR Custom Model Workshop is not enabled. | None |
| 422 | Unprocessable Entity | Invalid template data. | None |

## Create a new prediction explanations initialization

Operation path: `POST /api/v2/customModels/predictionExplanationsInitialization/`

Authentication requirements: `BearerAuth`

Create a new prediction explanations initialization for custom model.
This is a necessary prerequisite for generating prediction explanations.

.. minversion:: v2.23
    DEPRECATED please use custom model version route instead:
    [POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/predictionExplanationsInitialization/][post-apiv2custommodelscustommodelidversionscustommodelversionidpredictionexplanationsinitialization].

### Body parameter

```
{
  "properties": {
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The ID of the custom model version.",
      "type": "string"
    },
    "environmentId": {
      "description": "The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used.",
      "type": "string"
    },
    "environmentVersionId": {
      "description": "The ID of environment version to use. Defaults to the latest successfully built version.",
      "type": "string"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | CustomModelPredictionExplanations | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The request was accepted and will be worked on. | None |
| 422 | Unprocessable Entity | Specified custom model is not valid for prediction explanations. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL to poll to track the prediction explanation initialization has finished. |

## Delete custom model by custom model ID

Operation path: `DELETE /api/v2/customModels/{customModelId}/`

Authentication requirements: `BearerAuth`

Delete a custom model. Only users who have permission to edit custom model can delete it. Only custom models which are not currently deployed or undergoing custom model testing can be deleted.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | Record deleted. | None |
| 409 | Conflict | This custom model is currently deployed and cannot be deleted. The response body will contain link where those deployments can be retrieved. | None |

## Get custom model by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/`

Authentication requirements: `BearerAuth`

Retrieve metadata for a custom model.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |

### Example responses

> 200 Response

```
{
  "properties": {
    "calibratePredictions": {
      "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
      "type": "boolean"
    },
    "classLabels": {
      "description": "If the model is a multiclass classifier, these are the model's class labels",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the custom model creator.",
      "type": "string"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string"
    },
    "deploymentsCount": {
      "description": "The number of models deployed.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the model.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "The programming language used to write the model.",
      "type": "string"
    },
    "latestVersion": {
      "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
      "properties": {
        "baseEnvironmentId": {
          "description": "The base environment to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.22"
        },
        "baseEnvironmentVersionId": {
          "description": "The base environment version to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.25"
        },
        "created": {
          "description": "ISO-8601 timestamp of when the model was created.",
          "type": "string"
        },
        "customModelId": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "dependencies": {
          "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
          "items": {
            "properties": {
              "constraints": {
                "description": "Constraints that should be applied to the dependency when installed.",
                "items": {
                  "properties": {
                    "constraintType": {
                      "description": "The constraint type to apply to the version.",
                      "enum": [
                        "<",
                        "<=",
                        "==",
                        ">=",
                        ">"
                      ],
                      "type": "string"
                    },
                    "version": {
                      "description": "The version label to use in the constraint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraintType",
                    "version"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "extras": {
                "description": "The dependency's package extras.",
                "type": "string"
              },
              "line": {
                "description": "The original line from the requirements.txt file.",
                "type": "string"
              },
              "lineNumber": {
                "description": "The line number the requirement was on in requirements.txt.",
                "type": "integer"
              },
              "packageName": {
                "description": "The dependency's package name.",
                "type": "string"
              }
            },
            "required": [
              "constraints",
              "line",
              "lineNumber",
              "packageName"
            ],
            "type": "object"
          },
          "maxItems": 1000,
          "type": "array",
          "x-versionadded": "v2.22"
        },
        "description": {
          "description": "Description of a custom model version.",
          "type": [
            "string",
            "null"
          ]
        },
        "desiredMemory": {
          "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ],
          "x-versiondeprecated": "v2.24"
        },
        "gitModelVersion": {
          "description": "Contains git related attributes that are associated with a custom model version.",
          "properties": {
            "commitUrl": {
              "description": "A URL to the commit page in GitHub repository.",
              "format": "uri",
              "type": "string"
            },
            "mainBranchCommitSha": {
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": "string"
            },
            "pullRequestCommitSha": {
              "default": null,
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": [
                "string",
                "null"
              ]
            },
            "refName": {
              "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
              "type": "string"
            }
          },
          "required": [
            "commitUrl",
            "mainBranchCommitSha",
            "pullRequestCommitSha",
            "refName"
          ],
          "type": "object"
        },
        "holdoutData": {
          "description": "Holdout data configuration.",
          "properties": {
            "datasetId": {
              "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "partitionColumn": {
              "description": "The name of the column containing the partition assignments.",
              "maxLength": 500,
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "id": {
          "description": "the ID of the custom model version created.",
          "type": "string"
        },
        "isFrozen": {
          "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
          "type": "boolean",
          "x-versiondeprecated": "v2.34"
        },
        "items": {
          "description": "List of file items.",
          "items": {
            "properties": {
              "commitSha": {
                "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "created": {
                "description": "ISO-8601 timestamp of when the file item was created.",
                "type": "string"
              },
              "fileName": {
                "description": "The name of the file item.",
                "type": "string"
              },
              "filePath": {
                "description": "The path of the file item.",
                "type": "string"
              },
              "fileSource": {
                "description": "The source of the file item.",
                "type": "string"
              },
              "id": {
                "description": "ID of the file item.",
                "type": "string"
              },
              "ref": {
                "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryFilePath": {
                "description": "Full path to the file in the remote repository.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryLocation": {
                "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryName": {
                "description": "Name of the repository from which the file was pulled.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "storagePath": {
                "description": "Storage path of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              },
              "workspaceId": {
                "description": "The workspace ID of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              }
            },
            "required": [
              "created",
              "fileName",
              "filePath",
              "fileSource",
              "id",
              "storagePath",
              "workspaceId"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array"
        },
        "label": {
          "description": "A semantic version number of the major and minor version.",
          "type": "string"
        },
        "maximumMemory": {
          "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ]
        },
        "networkEgressPolicy": {
          "description": "Network egress policy.",
          "enum": [
            "NONE",
            "PUBLIC"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "replicas": {
          "description": "A fixed number of replicas that will be set for the given custom-model.",
          "exclusiveMinimum": 0,
          "maximum": 25,
          "type": [
            "integer",
            "null"
          ]
        },
        "requiredMetadata": {
          "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
          "type": "object",
          "x-versionadded": "v2.25",
          "x-versiondeprecated": "v2.26"
        },
        "requiredMetadataValues": {
          "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
          "items": {
            "properties": {
              "fieldName": {
                "description": "The required field name. This value will be added as an environment variable when running custom models.",
                "type": "string"
              },
              "value": {
                "description": "The value for the given field.",
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "fieldName",
              "value"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array",
          "x-versionadded": "v2.26"
        },
        "requiresHa": {
          "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
          "type": [
            "boolean",
            "null"
          ],
          "x-versionadded": "v2.26"
        },
        "resourceBundleId": {
          "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.33"
        },
        "trainingData": {
          "description": "Training data configuration.",
          "properties": {
            "assignmentError": {
              "description": "Training data configuration.",
              "properties": {
                "message": {
                  "description": "Training data assignment error message",
                  "maxLength": 10000,
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-versionadded": "v2.31"
                }
              },
              "type": "object"
            },
            "assignmentInProgress": {
              "default": false,
              "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
              "type": "boolean"
            },
            "datasetId": {
              "description": "The ID of the dataset.",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "versionMajor": {
          "description": "The major version number, incremented on deployments or larger file changes.",
          "type": "integer"
        },
        "versionMinor": {
          "description": "The minor version number, incremented on general file changes.",
          "type": "integer"
        }
      },
      "required": [
        "created",
        "customModelId",
        "description",
        "id",
        "isFrozen",
        "items",
        "label",
        "versionMajor",
        "versionMinor"
      ],
      "type": "object"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The name of the model.",
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "If the model is a binary classifier, this is the negative class label.",
      "type": "string"
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "If the model is a binary classifier, this is the positive class label.",
      "type": "string"
    },
    "predictionThreshold": {
      "description": "If the model is a binary classifier, this is the prediction threshold.",
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "supportsAnomalyDetection": {
      "description": "Whether the model supports anomaly detection.",
      "type": "boolean"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean"
    },
    "tags": {
      "description": "A list of the custom model tag.",
      "items": {
        "properties": {
          "id": {
            "description": "The ID of the tag.",
            "type": "string"
          },
          "name": {
            "description": "The name of the tag.",
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions.",
      "type": "string"
    },
    "targetType": {
      "description": "The target type of custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string"
    },
    "template": {
      "description": "If not null, the template used to create the custom model.",
      "properties": {
        "modelType": {
          "description": "The type of template the model was created from.",
          "enum": [
            "nimModel",
            "invalid"
          ],
          "type": "string",
          "x-versionadded": "v2.36"
        },
        "templateId": {
          "description": "The ID of the template used to create this custom model.",
          "type": "string",
          "x-versionadded": "v2.36"
        }
      },
      "required": [
        "modelType",
        "templateId"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "trainingDataAssignmentInProgress": {
      "description": "Indicates if training data is currently being assigned to the custom model.",
      "type": "boolean"
    },
    "trainingDataFileName": {
      "description": "The name of the file that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDataPartitionColumn": {
      "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetId": {
      "description": "The ID of the dataset that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetVersionId": {
      "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "description": "ISO-8601 timestamp of when model was last updated.",
      "type": "string"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "created",
    "createdBy",
    "deploymentsCount",
    "description",
    "id",
    "language",
    "latestVersion",
    "name",
    "supportsBinaryClassification",
    "supportsRegression",
    "targetType",
    "template",
    "updated"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelResponse |

## Update custom model by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/`

Authentication requirements: `BearerAuth`

Updates metadata for an existing custom model.

All custom models must support at least one target type (binaryClassification, regression).
Custom inference models can only support a single target type.

Setting `positiveClassLabel` and `negativeClassLabel` to null will set
the labels to their default values (1 and 0 for positiveClassLabel and negativeClassLabel,
respectively).

Setting `positiveClassLabel`, `negativeClassLabel`, 'targetName` is disabled if model
has active deployments or assigned training data.

### Body parameter

```
{
  "properties": {
    "classLabels": {
      "description": "The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "description": {
      "description": "The user-friendly description of the model.",
      "maxLength": 10000,
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "Programming language name in which model is written.",
      "maxLength": 500,
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The user-friendly name for the model.",
      "maxLength": 255,
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "The negative class label for custom models that support binary classification. If specified, `positiveClassLabel` must also be specified. Default value is \"0\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "positiveClassLabel": {
      "description": "The positive class label for custom models that support binary classification. If specified, `negativeClassLabel` must also be specified. Default value is \"1\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "predictionThreshold": {
      "default": 0.5,
      "description": "The prediction threshold which will be used for binary classification custom model.",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelUpdate | false | none |

### Example responses

> 201 Response

```
{
  "properties": {
    "calibratePredictions": {
      "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
      "type": "boolean"
    },
    "classLabels": {
      "description": "If the model is a multiclass classifier, these are the model's class labels",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the custom model creator.",
      "type": "string"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string"
    },
    "deploymentsCount": {
      "description": "The number of models deployed.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the model.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "The programming language used to write the model.",
      "type": "string"
    },
    "latestVersion": {
      "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
      "properties": {
        "baseEnvironmentId": {
          "description": "The base environment to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.22"
        },
        "baseEnvironmentVersionId": {
          "description": "The base environment version to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.25"
        },
        "created": {
          "description": "ISO-8601 timestamp of when the model was created.",
          "type": "string"
        },
        "customModelId": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "dependencies": {
          "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
          "items": {
            "properties": {
              "constraints": {
                "description": "Constraints that should be applied to the dependency when installed.",
                "items": {
                  "properties": {
                    "constraintType": {
                      "description": "The constraint type to apply to the version.",
                      "enum": [
                        "<",
                        "<=",
                        "==",
                        ">=",
                        ">"
                      ],
                      "type": "string"
                    },
                    "version": {
                      "description": "The version label to use in the constraint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraintType",
                    "version"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "extras": {
                "description": "The dependency's package extras.",
                "type": "string"
              },
              "line": {
                "description": "The original line from the requirements.txt file.",
                "type": "string"
              },
              "lineNumber": {
                "description": "The line number the requirement was on in requirements.txt.",
                "type": "integer"
              },
              "packageName": {
                "description": "The dependency's package name.",
                "type": "string"
              }
            },
            "required": [
              "constraints",
              "line",
              "lineNumber",
              "packageName"
            ],
            "type": "object"
          },
          "maxItems": 1000,
          "type": "array",
          "x-versionadded": "v2.22"
        },
        "description": {
          "description": "Description of a custom model version.",
          "type": [
            "string",
            "null"
          ]
        },
        "desiredMemory": {
          "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ],
          "x-versiondeprecated": "v2.24"
        },
        "gitModelVersion": {
          "description": "Contains git related attributes that are associated with a custom model version.",
          "properties": {
            "commitUrl": {
              "description": "A URL to the commit page in GitHub repository.",
              "format": "uri",
              "type": "string"
            },
            "mainBranchCommitSha": {
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": "string"
            },
            "pullRequestCommitSha": {
              "default": null,
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": [
                "string",
                "null"
              ]
            },
            "refName": {
              "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
              "type": "string"
            }
          },
          "required": [
            "commitUrl",
            "mainBranchCommitSha",
            "pullRequestCommitSha",
            "refName"
          ],
          "type": "object"
        },
        "holdoutData": {
          "description": "Holdout data configuration.",
          "properties": {
            "datasetId": {
              "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "partitionColumn": {
              "description": "The name of the column containing the partition assignments.",
              "maxLength": 500,
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "id": {
          "description": "the ID of the custom model version created.",
          "type": "string"
        },
        "isFrozen": {
          "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
          "type": "boolean",
          "x-versiondeprecated": "v2.34"
        },
        "items": {
          "description": "List of file items.",
          "items": {
            "properties": {
              "commitSha": {
                "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "created": {
                "description": "ISO-8601 timestamp of when the file item was created.",
                "type": "string"
              },
              "fileName": {
                "description": "The name of the file item.",
                "type": "string"
              },
              "filePath": {
                "description": "The path of the file item.",
                "type": "string"
              },
              "fileSource": {
                "description": "The source of the file item.",
                "type": "string"
              },
              "id": {
                "description": "ID of the file item.",
                "type": "string"
              },
              "ref": {
                "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryFilePath": {
                "description": "Full path to the file in the remote repository.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryLocation": {
                "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryName": {
                "description": "Name of the repository from which the file was pulled.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "storagePath": {
                "description": "Storage path of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              },
              "workspaceId": {
                "description": "The workspace ID of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              }
            },
            "required": [
              "created",
              "fileName",
              "filePath",
              "fileSource",
              "id",
              "storagePath",
              "workspaceId"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array"
        },
        "label": {
          "description": "A semantic version number of the major and minor version.",
          "type": "string"
        },
        "maximumMemory": {
          "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ]
        },
        "networkEgressPolicy": {
          "description": "Network egress policy.",
          "enum": [
            "NONE",
            "PUBLIC"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "replicas": {
          "description": "A fixed number of replicas that will be set for the given custom-model.",
          "exclusiveMinimum": 0,
          "maximum": 25,
          "type": [
            "integer",
            "null"
          ]
        },
        "requiredMetadata": {
          "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
          "type": "object",
          "x-versionadded": "v2.25",
          "x-versiondeprecated": "v2.26"
        },
        "requiredMetadataValues": {
          "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
          "items": {
            "properties": {
              "fieldName": {
                "description": "The required field name. This value will be added as an environment variable when running custom models.",
                "type": "string"
              },
              "value": {
                "description": "The value for the given field.",
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "fieldName",
              "value"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array",
          "x-versionadded": "v2.26"
        },
        "requiresHa": {
          "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
          "type": [
            "boolean",
            "null"
          ],
          "x-versionadded": "v2.26"
        },
        "resourceBundleId": {
          "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.33"
        },
        "trainingData": {
          "description": "Training data configuration.",
          "properties": {
            "assignmentError": {
              "description": "Training data configuration.",
              "properties": {
                "message": {
                  "description": "Training data assignment error message",
                  "maxLength": 10000,
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-versionadded": "v2.31"
                }
              },
              "type": "object"
            },
            "assignmentInProgress": {
              "default": false,
              "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
              "type": "boolean"
            },
            "datasetId": {
              "description": "The ID of the dataset.",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "versionMajor": {
          "description": "The major version number, incremented on deployments or larger file changes.",
          "type": "integer"
        },
        "versionMinor": {
          "description": "The minor version number, incremented on general file changes.",
          "type": "integer"
        }
      },
      "required": [
        "created",
        "customModelId",
        "description",
        "id",
        "isFrozen",
        "items",
        "label",
        "versionMajor",
        "versionMinor"
      ],
      "type": "object"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The name of the model.",
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "If the model is a binary classifier, this is the negative class label.",
      "type": "string"
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "If the model is a binary classifier, this is the positive class label.",
      "type": "string"
    },
    "predictionThreshold": {
      "description": "If the model is a binary classifier, this is the prediction threshold.",
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "supportsAnomalyDetection": {
      "description": "Whether the model supports anomaly detection.",
      "type": "boolean"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean"
    },
    "tags": {
      "description": "A list of the custom model tag.",
      "items": {
        "properties": {
          "id": {
            "description": "The ID of the tag.",
            "type": "string"
          },
          "name": {
            "description": "The name of the tag.",
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions.",
      "type": "string"
    },
    "targetType": {
      "description": "The target type of custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string"
    },
    "template": {
      "description": "If not null, the template used to create the custom model.",
      "properties": {
        "modelType": {
          "description": "The type of template the model was created from.",
          "enum": [
            "nimModel",
            "invalid"
          ],
          "type": "string",
          "x-versionadded": "v2.36"
        },
        "templateId": {
          "description": "The ID of the template used to create this custom model.",
          "type": "string",
          "x-versionadded": "v2.36"
        }
      },
      "required": [
        "modelType",
        "templateId"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "trainingDataAssignmentInProgress": {
      "description": "Indicates if training data is currently being assigned to the custom model.",
      "type": "boolean"
    },
    "trainingDataFileName": {
      "description": "The name of the file that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDataPartitionColumn": {
      "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetId": {
      "description": "The ID of the dataset that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetVersionId": {
      "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "description": "ISO-8601 timestamp of when model was last updated.",
      "type": "string"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "created",
    "createdBy",
    "deploymentsCount",
    "description",
    "id",
    "language",
    "latestVersion",
    "name",
    "supportsBinaryClassification",
    "supportsRegression",
    "targetType",
    "template",
    "updated"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Created. | CustomModelResponse |
| 403 | Forbidden | Custom inference model modification is not enabled for the user. | None |
| 409 | Conflict | Custom model cannot be updated while it is being validated or some fields cannot be updated after deployment or assigning training data. | None |
| 422 | Unprocessable Entity | Input parameters are invalid. | None |

## Get a list of users who have access by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/accessControl/`

Authentication requirements: `BearerAuth`

Get a list of users who have access to this custom model and their roles on it.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| customModelId | path | string | true | The ID of the custom model. |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "Number of items in current page.",
      "type": "integer"
    },
    "data": {
      "description": "List of the requested custom model access control entries.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether this user can share this custom model",
            "type": "boolean"
          },
          "role": {
            "description": "This users role.",
            "type": "string"
          },
          "userId": {
            "description": "This user's userId.",
            "type": "string"
          },
          "username": {
            "description": "The username for this user's entry.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "URL pointing to the next page (if null, there is no next page)",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "URL pointing to the previous page (if null, there is no previous page",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | A list of users who have access to this custom model and their roles on it. | CustomModelAccessControlListResponse |
| 400 | Bad Request | Both username and userId were specified. | None |

## Grant access or update roles by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/accessControl/`

Authentication requirements: `BearerAuth`

Grant access or update roles for users on this custom model and appropriate learning data. Up to 100 user roles may be set in a single request.

### Body parameter

```
{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | SharingUpdateOrRemoveWithGrant | false | none |

### Example responses

> 204 Response

```
{
  "properties": {
    "data": {
      "description": "Roles were successfully updated.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether this user can share this custom model",
            "type": "boolean"
          },
          "role": {
            "description": "This users role.",
            "type": "string"
          },
          "userId": {
            "description": "This user's userId.",
            "type": "string"
          },
          "username": {
            "description": "The username for this user's entry.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | Roles updated successfully. | CustomModelAccessControlUpdateResponse |
| 409 | Conflict | The request would leave the custom model without an owner. | None |
| 422 | Unprocessable Entity | One of the users in the request does not exist, or the request is otherwise invalid. | None |

## Download the latest custom model version content by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/download/`

Authentication requirements: `BearerAuth`

Download the latest item bundle from a custom model as a zip compressed archive.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| pps | query | string | false | Download model version from PPS tab.If "true" specified, model archive includes dependencies install script. If "false" specified, dependencies script is not included. If not specified -> "false" behavior. |
| customModelId | path | string | true | The ID of the custom model. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| pps | [false, False, true, True] |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The download succeeded. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 200 | Content-Disposition | string |  | Contains an auto generated filename for this download ("attachment;filename=model--version-.zip"). |

## Assign training data by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/trainingData/`

Authentication requirements: `BearerAuth`

The current API is deprecated and scheduled for removal in v2.34.             Training data assignment is implemented in CustomModelVersionCreateController and CustomModelVersionCreateFromLatestController.

Assigns the specified dataset to the specified custom model as training data.
For each of the custom model's deployments, the training data from the specified project
provides a baseline to enable drift tracking. 
The API is disabled and returns HTTP 422
when a custom model is converted to assign training data at the version level.             See isTrainingDataForVersionsPermanentlyEnabled parameter for             [POST /api/v2/customModels/][post-apiv2custommodels]             and             [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] 
Use training data assignment at the version level:             [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]             [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions].

### Body parameter

```
{
  "properties": {
    "datasetId": {
      "description": "The ID of the dataset.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "partitionColumn": {
      "description": "The name of the column containing the partition assignments.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    }
  },
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | DeprecatedTrainingDataForModelsAssignment | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The request was accepted and will be worked on. | None |
| 409 | Conflict | Custom model has assigned training data already and is deployed. | None |
| 410 | Gone | The requested Dataset has been deleted. | None |
| 422 | Unprocessable Entity | Dataset ingest must finish before assigning training data or provided dataset is incompatible with the custom model. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL to poll to track the training data assignment has finished. |

## List custom model versions by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/`

Authentication requirements: `BearerAuth`

List custom model versions.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| mainBranchCommitSha | query | string | false | Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version. |
| customModelId | path | string | true | The ID of the custom model. |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model versions.",
      "items": {
        "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
        "properties": {
          "baseEnvironmentId": {
            "description": "The base environment to use with this model version.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.22"
          },
          "baseEnvironmentVersionId": {
            "description": "The base environment version to use with this model version.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.25"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the model was created.",
            "type": "string"
          },
          "customModelId": {
            "description": "The ID of the custom model.",
            "type": "string"
          },
          "dependencies": {
            "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
            "items": {
              "properties": {
                "constraints": {
                  "description": "Constraints that should be applied to the dependency when installed.",
                  "items": {
                    "properties": {
                      "constraintType": {
                        "description": "The constraint type to apply to the version.",
                        "enum": [
                          "<",
                          "<=",
                          "==",
                          ">=",
                          ">"
                        ],
                        "type": "string"
                      },
                      "version": {
                        "description": "The version label to use in the constraint.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "constraintType",
                      "version"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "extras": {
                  "description": "The dependency's package extras.",
                  "type": "string"
                },
                "line": {
                  "description": "The original line from the requirements.txt file.",
                  "type": "string"
                },
                "lineNumber": {
                  "description": "The line number the requirement was on in requirements.txt.",
                  "type": "integer"
                },
                "packageName": {
                  "description": "The dependency's package name.",
                  "type": "string"
                }
              },
              "required": [
                "constraints",
                "line",
                "lineNumber",
                "packageName"
              ],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array",
            "x-versionadded": "v2.22"
          },
          "description": {
            "description": "Description of a custom model version.",
            "type": [
              "string",
              "null"
            ]
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "gitModelVersion": {
            "description": "Contains git related attributes that are associated with a custom model version.",
            "properties": {
              "commitUrl": {
                "description": "A URL to the commit page in GitHub repository.",
                "format": "uri",
                "type": "string"
              },
              "mainBranchCommitSha": {
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": "string"
              },
              "pullRequestCommitSha": {
                "default": null,
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": [
                  "string",
                  "null"
                ]
              },
              "refName": {
                "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                "type": "string"
              }
            },
            "required": [
              "commitUrl",
              "mainBranchCommitSha",
              "pullRequestCommitSha",
              "refName"
            ],
            "type": "object"
          },
          "holdoutData": {
            "description": "Holdout data configuration.",
            "properties": {
              "datasetId": {
                "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetName": {
                "description": "A user-friendly name for the dataset.",
                "maxLength": 255,
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetVersionId": {
                "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
                "type": [
                  "string",
                  "null"
                ]
              },
              "partitionColumn": {
                "description": "The name of the column containing the partition assignments.",
                "maxLength": 500,
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "id": {
            "description": "the ID of the custom model version created.",
            "type": "string"
          },
          "isFrozen": {
            "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
            "type": "boolean",
            "x-versiondeprecated": "v2.34"
          },
          "items": {
            "description": "List of file items.",
            "items": {
              "properties": {
                "commitSha": {
                  "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created": {
                  "description": "ISO-8601 timestamp of when the file item was created.",
                  "type": "string"
                },
                "fileName": {
                  "description": "The name of the file item.",
                  "type": "string"
                },
                "filePath": {
                  "description": "The path of the file item.",
                  "type": "string"
                },
                "fileSource": {
                  "description": "The source of the file item.",
                  "type": "string"
                },
                "id": {
                  "description": "ID of the file item.",
                  "type": "string"
                },
                "ref": {
                  "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryFilePath": {
                  "description": "Full path to the file in the remote repository.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryLocation": {
                  "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryName": {
                  "description": "Name of the repository from which the file was pulled.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "storagePath": {
                  "description": "Storage path of the file item.",
                  "type": "string",
                  "x-versiondeprecated": "2.25"
                },
                "workspaceId": {
                  "description": "The workspace ID of the file item.",
                  "type": "string",
                  "x-versiondeprecated": "2.25"
                }
              },
              "required": [
                "created",
                "fileName",
                "filePath",
                "fileSource",
                "id",
                "storagePath",
                "workspaceId"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "label": {
            "description": "A semantic version number of the major and minor version.",
            "type": "string"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ]
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ]
          },
          "requiredMetadata": {
            "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
            "type": "object",
            "x-versionadded": "v2.25",
            "x-versiondeprecated": "v2.26"
          },
          "requiredMetadataValues": {
            "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
            "items": {
              "properties": {
                "fieldName": {
                  "description": "The required field name. This value will be added as an environment variable when running custom models.",
                  "type": "string"
                },
                "value": {
                  "description": "The value for the given field.",
                  "maxLength": 100,
                  "type": "string"
                }
              },
              "required": [
                "fieldName",
                "value"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array",
            "x-versionadded": "v2.26"
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "trainingData": {
            "description": "Training data configuration.",
            "properties": {
              "assignmentError": {
                "description": "Training data configuration.",
                "properties": {
                  "message": {
                    "description": "Training data assignment error message",
                    "maxLength": 10000,
                    "type": [
                      "string",
                      "null"
                    ],
                    "x-versionadded": "v2.31"
                  }
                },
                "type": "object"
              },
              "assignmentInProgress": {
                "default": false,
                "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
                "type": "boolean"
              },
              "datasetId": {
                "description": "The ID of the dataset.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetName": {
                "description": "A user-friendly name for the dataset.",
                "maxLength": 255,
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetVersionId": {
                "description": "The ID of the dataset version.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "versionMajor": {
            "description": "The major version number, incremented on deployments or larger file changes.",
            "type": "integer"
          },
          "versionMinor": {
            "description": "The minor version number, incremented on general file changes.",
            "type": "integer"
          }
        },
        "required": [
          "created",
          "customModelId",
          "description",
          "id",
          "isFrozen",
          "items",
          "label",
          "versionMajor",
          "versionMinor"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelVersionListResponse |
| 400 | Bad Request | Query parameters are invalid. | None |
| 422 | Unprocessable Entity | Input parameters are invalid. | None |

## Update custom model version files by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/versions/`

Authentication requirements: `BearerAuth`

Create a new custom model version with files added, replaced or deleted. Files from the previous version of a custom models will be used as a basis.

### Body parameter

```
properties:
  baseEnvironmentId:
    description: The base environment to use with this model version. At least one
      of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If
      both are specified, the version must belong to the environment.
    type: string
    x-versionadded: v2.22
  baseEnvironmentVersionId:
    description: 'The base environment version ID to use with this model version. At
      least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be
      provided. If both are specified, the version must belong to the
      environment. If not specified: in the case where the previous model
      versions exist, the value from the latest model version is inherited,
      otherwise, the latest successfully built version of the environment
      specified in "baseEnvironmentId" is used.'
    type: string
    x-versionadded: v2.29
  desiredMemory:
    description: The amount of memory that is expected to be allocated by the custom
      model. This setting is incompatible with setting the resourceBundleId.
    maximum: 15032385536
    minimum: 134217728
    type:
      - integer
      - "null"
    x-versiondeprecated: v2.24
  file:
    description: 'A file with code for a custom task or a custom model. For each
      file supplied as form data, you must have a corresponding `filePath`
      supplied that shows the relative location of the file. For example, you
      have two files: `/home/username/custom-task/main.py` and
      `/home/username/custom-task/helpers/helper.py`. When uploading these
      files, you would _also_ need to include two `filePath` fields of,
      `"main.py"` and `"helpers/helper.py"`. If the supplied `file` already
      exists at the supplied `filePath`, the old file is replaced by the new
      file.'
    format: binary
    type: string
  filePath:
    description: The local path of the file being uploaded. See the `file` field
      explanation for more details.
    oneOf:
      - type: string
      - items:
          type: string
        maxItems: 1000
        type: array
  filesToDelete:
    description: The IDs of the files to be deleted.
    oneOf:
      - type: string
      - items:
          type: string
        maxItems: 100
        type: array
  gitModelVersion:
    description: Contains git related attributes that are associated with a custom
      model version.
    properties:
      commitUrl:
        description: A URL to the commit page in GitHub repository.
        format: uri
        type: string
      mainBranchCommitSha:
        description: Specifies the commit SHA-1 in GitHub repository from the main
          branch that corresponds to a given custom model version.
        maxLength: 40
        minLength: 40
        type: string
      pullRequestCommitSha:
        default: null
        description: Specifies the commit SHA-1 in GitHub repository from the main
          branch that corresponds to a given custom model version.
        maxLength: 40
        minLength: 40
        type:
          - string
          - "null"
      refName:
        description: The branch or tag name that triggered the workflow run. For
          workflows triggered by push, this is the branch or tag ref that was
          pushed. For workflows triggered by pull_request, this is the pull
          request merge branch.
        type: string
    required:
      - commitUrl
      - mainBranchCommitSha
      - pullRequestCommitSha
      - refName
    type: object
  holdoutData:
    description: "Holdout data configuration may be supplied for
      version.                 This functionality has to be explicitly enabled
      for the current model.                 See
      isTrainingDataForVersionsPermanentlyEnabled parameter
      for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 an\
      d                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 \
      "
    type:
      - string
      - "null"
    x-versionadded: "2.31"
  isMajorUpdate:
    default: "true"
    description: If set to true, new major version will created, otherwise minor
      version will be created.
    enum:
      - "false"
      - "False"
      - "true"
      - "True"
    type: string
  keepTrainingHoldoutData:
    default: true
    description: If the version should inherit training and holdout data from the
      previous version. Defaults to true.This field is only applicable if the
      model has training data for versions enabled. Otherwise the field value
      will be ignored.
    type: boolean
    x-versionadded: v2.30
  maximumMemory:
    description: The maximum memory that might be allocated by the custom-model. If
      exceeded, the custom-model will be killed. This setting is incompatible
      with setting the resourceBundleId.
    maximum: 15032385536
    minimum: 134217728
    type:
      - integer
      - "null"
  networkEgressPolicy:
    description: Network egress policy.
    enum:
      - NONE
      - PUBLIC
    type:
      - string
      - "null"
  replicas:
    description: A fixed number of replicas that will be set for the given custom-model.
    exclusiveMinimum: 0
    maximum: 25
    type:
      - integer
      - "null"
  requiredMetadata:
    description: Additional parameters required by the execution environment. The
      required keys are defined by the fieldNames in the base environment's
      requiredMetadataKeys. Once set, they cannot be changed. If you to change
      them, make a new version.
    type: string
    x-versionadded: v2.25
    x-versiondeprecated: v2.26
  requiredMetadataValues:
    description: "Additional parameters required by the execution environment. The
      required fieldNames are defined by the fieldNames in the base
      environment's requiredMetadataKeys. Field names and values are exposed as
      environment variables with values when running the custom model. Example:
      \"required_metadata_values\": [{\"field_name\": \"hi\", \"value\":
      \"there\"}],"
    type: string
    x-versionadded: v2.26
  requiresHa:
    description: Require all custom model replicas to be deployed on different
      Kubernetes nodes for predictions fault tolerance.
    type:
      - boolean
      - "null"
    x-versionadded: v2.26
  resourceBundleId:
    description: "A single identifier that represents a bundle of resources: Memory,
      CPU, GPU, etc. A list of available bundles can be obtained via the
      resource bundles endpoint."
    type:
      - string
      - "null"
    x-versionadded: v2.33
  trainingData:
    description: "Training data configuration may be supplied for
      version.                 This functionality has to be explicitly enabled
      for the current model.                 See
      isTrainingDataForVersionsPermanentlyEnabled parameter
      for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 an\
      d                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 \
      "
    type:
      - string
      - "null"
    x-versionadded: "2.31"
required:
  - isMajorUpdate
type: object
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelVersionCreateFromLatest | false | none |

### Example responses

> 201 Response

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Item successfully created. | CustomModelVersionResponse |
| 403 | Forbidden | User does not have permissions to use requested Dataset | None |
| 404 | Not Found | Either custom model or dataset not found or user does not have edit permissions. | None |
| 413 | Payload Too Large | Item or collection of items was too large in size (bytes). | None |
| 422 | Unprocessable Entity | Cannot create the custom task version due to one or more errors. All error responses will have a "message" field and some may have optional fields. The optional fields include: ["errors", "dependencies", "invalidDependencies"] | None |

## Create custom model version by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/`

Authentication requirements: `BearerAuth`

Create a new custom model version with attached files if supplied.

### Body parameter

```
properties:
  baseEnvironmentId:
    description: The base environment to use with this model version. At least one
      of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If
      both are specified, the version must belong to the environment.
    type: string
    x-versionadded: v2.22
  baseEnvironmentVersionId:
    description: 'The base environment version ID to use with this model version. At
      least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be
      provided. If both are specified, the version must belong to the
      environment. If not specified: in the case where the previous model
      versions exist, the value from the latest model version is inherited,
      otherwise, the latest successfully built version of the environment
      specified in "baseEnvironmentId" is used.'
    type: string
    x-versionadded: v2.29
  desiredMemory:
    description: The amount of memory that is expected to be allocated by the custom
      model. This setting is incompatible with setting the resourceBundleId.
    maximum: 15032385536
    minimum: 134217728
    type:
      - integer
      - "null"
    x-versiondeprecated: v2.24
  file:
    description: 'A file with code for a custom task or a custom model. For each
      file supplied as form data, you must have a corresponding `filePath`
      supplied that shows the relative location of the file. For example, you
      have two files: `/home/username/custom-task/main.py` and
      `/home/username/custom-task/helpers/helper.py`. When uploading these
      files, you would _also_ need to include two `filePath` fields of,
      `"main.py"` and `"helpers/helper.py"`. If the supplied `file` already
      exists at the supplied `filePath`, the old file is replaced by the new
      file.'
    format: binary
    type: string
  filePath:
    description: The local path of the file being uploaded. See the `file` field
      explanation for more details.
    oneOf:
      - type: string
      - items:
          type: string
        maxItems: 1000
        type: array
  gitModelVersion:
    description: Contains git related attributes that are associated with a custom
      model version.
    properties:
      commitUrl:
        description: A URL to the commit page in GitHub repository.
        format: uri
        type: string
      mainBranchCommitSha:
        description: Specifies the commit SHA-1 in GitHub repository from the main
          branch that corresponds to a given custom model version.
        maxLength: 40
        minLength: 40
        type: string
      pullRequestCommitSha:
        default: null
        description: Specifies the commit SHA-1 in GitHub repository from the main
          branch that corresponds to a given custom model version.
        maxLength: 40
        minLength: 40
        type:
          - string
          - "null"
      refName:
        description: The branch or tag name that triggered the workflow run. For
          workflows triggered by push, this is the branch or tag ref that was
          pushed. For workflows triggered by pull_request, this is the pull
          request merge branch.
        type: string
    required:
      - commitUrl
      - mainBranchCommitSha
      - pullRequestCommitSha
      - refName
    type: object
  holdoutData:
    description: "Holdout data configuration may be supplied for
      version.                 This functionality has to be explicitly enabled
      for the current model.                 See
      isTrainingDataForVersionsPermanentlyEnabled parameter
      for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 an\
      d                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 \
      "
    type:
      - string
      - "null"
    x-versionadded: "2.31"
  isMajorUpdate:
    default: "true"
    description: If set to true, new major version will created, otherwise minor
      version will be created.
    enum:
      - "false"
      - "False"
      - "true"
      - "True"
    type: string
  keepTrainingHoldoutData:
    default: true
    description: If the version should inherit training and holdout data from the
      previous version. Defaults to true.This field is only applicable if the
      model has training data for versions enabled. Otherwise the field value
      will be ignored.
    type: boolean
    x-versionadded: v2.30
  maximumMemory:
    description: The maximum memory that might be allocated by the custom-model. If
      exceeded, the custom-model will be killed. This setting is incompatible
      with setting the resourceBundleId.
    maximum: 15032385536
    minimum: 134217728
    type:
      - integer
      - "null"
  networkEgressPolicy:
    description: Network egress policy.
    enum:
      - NONE
      - PUBLIC
    type:
      - string
      - "null"
  replicas:
    description: A fixed number of replicas that will be set for the given custom-model.
    exclusiveMinimum: 0
    maximum: 25
    type:
      - integer
      - "null"
  requiredMetadata:
    description: Additional parameters required by the execution environment. The
      required keys are defined by the fieldNames in the base environment's
      requiredMetadataKeys. Once set, they cannot be changed. If you to change
      them, make a new version.
    type: string
    x-versionadded: v2.25
    x-versiondeprecated: v2.26
  requiredMetadataValues:
    description: "Additional parameters required by the execution environment. The
      required fieldNames are defined by the fieldNames in the base
      environment's requiredMetadataKeys. Field names and values are exposed as
      environment variables with values when running the custom model. Example:
      \"required_metadata_values\": [{\"field_name\": \"hi\", \"value\":
      \"there\"}],"
    type: string
    x-versionadded: v2.26
  requiresHa:
    description: Require all custom model replicas to be deployed on different
      Kubernetes nodes for predictions fault tolerance.
    type:
      - boolean
      - "null"
    x-versionadded: v2.26
  resourceBundleId:
    description: "A single identifier that represents a bundle of resources: Memory,
      CPU, GPU, etc. A list of available bundles can be obtained via the
      resource bundles endpoint."
    type:
      - string
      - "null"
    x-versionadded: v2.33
  trainingData:
    description: "Training data configuration may be supplied for
      version.                 This functionality has to be explicitly enabled
      for the current model.                 See
      isTrainingDataForVersionsPermanentlyEnabled parameter
      for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 an\
      d                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 \
      "
    type:
      - string
      - "null"
    x-versionadded: "2.31"
required:
  - isMajorUpdate
type: object
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelVersionCreate | false | none |

### Example responses

> 201 Response

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | Item successfully created. | CustomModelVersionResponse |
| 403 | Forbidden | User does not have permissions to use requested Dataset | None |
| 404 | Not Found | Either custom model or dataset not found or user does not have edit permissions. | None |
| 413 | Payload Too Large | Item or collection of items was too large in size (bytes). | None |
| 422 | Unprocessable Entity | Cannot create the custom task version due to one or more errors. All error responses will have a "message" field and some may have optional fields. The optional fields include: ["errors", "dependencies", "invalidDependencies"] | None |

## Create a new custom model version by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/fromCodespace/`

Authentication requirements: `BearerAuth`

Create a new custom model version with files from the codespace.

### Body parameter

```
{
  "properties": {
    "codespaceId": {
      "description": "The ID of the codespace that is the source for the custom model version files.",
      "type": "string"
    }
  },
  "required": [
    "codespaceId"
  ],
  "type": "object",
  "x-versionadded": "v2.37"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelVersionFromCodespace | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | None |
| 202 | Accepted | Task for creating a new custom model version applied. | None |

## Create custom model version from remote repository by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/versions/fromRepository/`

Authentication requirements: `BearerAuth`

Create a new custom model version with files added from a remote repository. Files from the previous version of a custom models will be used as a basis.

### Body parameter

```
{
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this version.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "isMajorUpdate": {
      "default": true,
      "description": "If set to true, new major version will created, otherwise minor version will be created.",
      "type": "boolean"
    },
    "keepTrainingHoldoutData": {
      "default": true,
      "description": "If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "ref": {
      "description": "Remote reference (branch, commit, etc). Latest, if not specified.",
      "type": "string"
    },
    "repositoryId": {
      "description": "The ID of remote repository used to pull sources. This ID can be found using the /api/v2/remoteRepositories/ endpoint.",
      "type": "string"
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "sourcePath": {
      "description": "A remote repository file path to be pulled into a custom model or custom task.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "type": "array"
        }
      ]
    }
  },
  "required": [
    "repositoryId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelVersionCreateFromRepository | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Accepted: request placed to a queue for processing. | None |
| 422 | Unprocessable Entity | Custom Model version cannot be created: (1) input parameters are invalid, (2) if user does not have permission to create legacy conversion environment. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL for tracking async job status. |

## Create a version from a repository

Operation path: `POST /api/v2/customModels/{customModelId}/versions/fromRepository/`

Authentication requirements: `BearerAuth`

Create a new custom model version with only files added from the specified remote repository.

### Body parameter

```
{
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this version.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "isMajorUpdate": {
      "default": true,
      "description": "If set to true, new major version will created, otherwise minor version will be created.",
      "type": "boolean"
    },
    "keepTrainingHoldoutData": {
      "default": true,
      "description": "If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "ref": {
      "description": "Remote reference (branch, commit, etc). Latest, if not specified.",
      "type": "string"
    },
    "repositoryId": {
      "description": "The ID of remote repository used to pull sources. This ID can be found using the /api/v2/remoteRepositories/ endpoint.",
      "type": "string"
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "sourcePath": {
      "description": "A remote repository file path to be pulled into a custom model or custom task.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "type": "array"
        }
      ]
    }
  },
  "required": [
    "repositoryId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | CustomModelVersionCreateFromRepository | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Accepted: request placed to a queue for processing. | None |
| 422 | Unprocessable Entity | Custom Model version cannot be created: (1) input parameters are invalid, (2) if user does not have permission to create legacy conversion environment. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL for tracking async job status. |

## Add or replace training and holdout data by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/versions/withTrainingData/`

Authentication requirements: `BearerAuth`

Current API is deprecated and will be removed in v2.33.             Training data assignment is implemented in CustomModelVersionCreateController and CustomModelVersionCreateFromLatestController.

Creates a new custom model version (bumping it up a minor version) with the specified training and holdout data.
This functionality has to be explicitly enabled for the current model. 
See isTrainingDataForVersionsPermanentlyEnabled parameter for             [POST /api/v2/customModels/][post-apiv2custommodels]             and             [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] 
This API is going to be deprecated.
Use model version creation APIs to assign training data at the version level:             [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]             [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions].

### Body parameter

```
{
  "properties": {
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.33"
        }
      },
      "type": "object"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean",
          "x-versiondeprecated": "v2.33"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "trainingData"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| body | body | DeprecatedCustomModelVersionTrainingDataUpdate | false | none |

### Example responses

> 202 Response

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The request was accepted and will be worked on. | CustomModelVersionResponse |
| 404 | Not Found | Custom model not found or user does not have edit permissions. | None |
| 410 | Gone | The requested Dataset has been deleted. | None |
| 422 | Unprocessable Entity | Cannot update custom model training data. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL to poll to track the training data assignment has finished. |

## Get custom model version by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/`

Authentication requirements: `BearerAuth`

Display a requested version of a custom model along with the files attached to it.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Example responses

> 200 Response

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | OK. | CustomModelVersionResponse |

## Update custom model version by custom model ID

Operation path: `PATCH /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/`

Authentication requirements: `BearerAuth`

Edit metadata of a specific model version.

### Body parameter

```
{
  "properties": {
    "description": {
      "description": "New description for the custom task or model.",
      "maxLength": 10000,
      "type": "string"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    }
  },
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| body | body | CustomModelVersionMetadataUpdate | false | none |

### Example responses

> 200 Response

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The edit was successful. | CustomModelVersionResponse |
| 404 | Not Found | Custom model not found or user does not have edit permissions. | None |
| 422 | Unprocessable Entity | Cannot update custom model metadata. | None |

## Get a list by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/conversions/`

Authentication requirements: `BearerAuth`

Get the list of custom model conversions that are associated with the given custom model. Alternatively, it can return a single item list of the latest custom model conversion that is associated with the given custom model version.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| isLatest | query | string | false | Whether to return only the latest associated custom model conversion or all of the associated ones. |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| isLatest | [false, False, true, True] |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model conversions.",
      "items": {
        "properties": {
          "conversionInProgress": {
            "description": "Whether a custom model conversion is in progress or not.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "conversionSucceeded": {
            "description": "Indication for a successful custom model conversion.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the custom model conversion created.",
            "type": "string"
          },
          "customModelVersionId": {
            "description": "ID of the custom model version.",
            "type": "string"
          },
          "generatedMetadata": {
            "description": "Custom model conversion output metadata.",
            "properties": {
              "outputColumns": {
                "description": "A list of column lists that are associated with the output datasets from the custom model conversion process.",
                "items": {
                  "description": "A columns list belong to a single dataset output from a custom model conversion process",
                  "items": {
                    "description": "A column name belong to a single dataset output from a custom model conversion process",
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 50,
                  "minItems": 1,
                  "type": "array"
                },
                "maxItems": 50,
                "type": "array"
              },
              "outputDatasets": {
                "description": "A list of output datasets from the custom model conversion process.",
                "items": {
                  "description": "An output dataset name from the custom model conversion process",
                  "type": "string"
                },
                "maxItems": 50,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "outputColumns",
              "outputDatasets"
            ],
            "type": "object"
          },
          "id": {
            "description": "ID of the custom model version.",
            "type": "string"
          },
          "logMessage": {
            "description": "The output log message from the custom model conversion process.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "mainProgramItemId": {
            "description": "The main program file item ID.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "shouldStop": {
            "default": false,
            "description": "Whether the user requested to stop the given conversion.",
            "type": "boolean",
            "x-versionadded": "v2.26"
          }
        },
        "required": [
          "created",
          "customModelVersionId",
          "id"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | ConversionListResponse |

## Generates JAR file by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/conversions/`

Authentication requirements: `BearerAuth`

Converts files in the given custom model version to a JAR file.

### Body parameter

```
{
  "properties": {
    "mainProgramItemId": {
      "description": "The main program file item ID.",
      "type": "string",
      "x-versionadded": "v2.26"
    }
  },
  "required": [
    "mainProgramItemId"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| body | body | ConversionCreateQuery | false | none |

### Example responses

> 202 Response

```
{
  "properties": {
    "conversionId": {
      "description": "ID that can be used to stop a given conversion.",
      "type": "string"
    },
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status",
      "type": "string"
    }
  },
  "required": [
    "conversionId",
    "statusId"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The request was accepted and will be worked on. | CustomModelConversionAsyncOperationResponse |
| 422 | Unprocessable Entity | Input parameters are invalid. | None |

## Stop a given custom model conversion by custom model ID

Operation path: `DELETE /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/conversions/{conversionId}/`

Authentication requirements: `BearerAuth`

Stop a running conversion for given model and model version.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| conversionId | path | string | true | ID of the custom model conversion. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | none | None |
| 422 | Unprocessable Entity | The given conversion is not active. | None |

## Get a given custom model conversion by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/conversions/{conversionId}/`

Authentication requirements: `BearerAuth`

Get a given custom model conversion.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| conversionId | path | string | true | ID of the custom model conversion. |

### Example responses

> 200 Response

```
{
  "properties": {
    "conversionInProgress": {
      "description": "Whether a custom model conversion is in progress or not.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "conversionSucceeded": {
      "description": "Indication for a successful custom model conversion.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the custom model conversion created.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "ID of the custom model version.",
      "type": "string"
    },
    "generatedMetadata": {
      "description": "Custom model conversion output metadata.",
      "properties": {
        "outputColumns": {
          "description": "A list of column lists that are associated with the output datasets from the custom model conversion process.",
          "items": {
            "description": "A columns list belong to a single dataset output from a custom model conversion process",
            "items": {
              "description": "A column name belong to a single dataset output from a custom model conversion process",
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "maxItems": 50,
          "type": "array"
        },
        "outputDatasets": {
          "description": "A list of output datasets from the custom model conversion process.",
          "items": {
            "description": "An output dataset name from the custom model conversion process",
            "type": "string"
          },
          "maxItems": 50,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "outputColumns",
        "outputDatasets"
      ],
      "type": "object"
    },
    "id": {
      "description": "ID of the custom model version.",
      "type": "string"
    },
    "logMessage": {
      "description": "The output log message from the custom model conversion process.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "mainProgramItemId": {
      "description": "The main program file item ID.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "shouldStop": {
      "default": false,
      "description": "Whether the user requested to stop the given conversion.",
      "type": "boolean",
      "x-versionadded": "v2.26"
    }
  },
  "required": [
    "created",
    "customModelVersionId",
    "id"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | ConversionResponse |

## Cancel dependency build by custom model ID

Operation path: `DELETE /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild/`

Authentication requirements: `BearerAuth`

Cancel the custom model version's dependency build.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | Custom model version's dependency build was cancelled. | None |
| 409 | Conflict | Custom model dependency build has reached a terminal state and cannot be cancelled. | None |
| 422 | Unprocessable Entity | No custom model dependency build started for specified version or dependency image is in use and cannot be deleted | None |

## Retrieve the custom model version's dependency build status by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild/`

Authentication requirements: `BearerAuth`

Retrieve the custom model version's dependency build status.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Example responses

> 200 Response

```
{
  "properties": {
    "buildEnd": {
      "description": "The ISO-8601 encoded time when this build completed.",
      "type": [
        "string",
        "null"
      ]
    },
    "buildLogLocation": {
      "description": "The URL to download the build logs from this build.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "buildStart": {
      "description": "The ISO-8601 encoded time when this build started.",
      "type": "string"
    },
    "buildStatus": {
      "description": "The current status of the dependency build.",
      "enum": [
        "submitted",
        "processing",
        "failed",
        "success",
        "aborted"
      ],
      "type": "string"
    }
  },
  "required": [
    "buildEnd",
    "buildLogLocation",
    "buildStart",
    "buildStatus"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The metadata from the custom model version's dependency build. | BaseDependencyBuildMetadataResponse |
| 422 | Unprocessable Entity | Custom model dependency build has not started. | None |

## Start a custom model version's dependency build by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuild/`

Authentication requirements: `BearerAuth`

Start a custom model version's dependency build. This is required to test, deploy, or train custom models.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Example responses

> 202 Response

```
{
  "properties": {
    "buildEnd": {
      "description": "The ISO-8601 encoded time when this build completed.",
      "type": [
        "string",
        "null"
      ]
    },
    "buildLogLocation": {
      "description": "The URL to download the build logs from this build.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "buildStart": {
      "description": "The ISO-8601 encoded time when this build started.",
      "type": "string"
    },
    "buildStatus": {
      "description": "The current status of the dependency build.",
      "enum": [
        "submitted",
        "processing",
        "failed",
        "success",
        "aborted"
      ],
      "type": "string"
    }
  },
  "required": [
    "buildEnd",
    "buildLogLocation",
    "buildStart",
    "buildStatus"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Custom model version's dependency build has started. | BaseDependencyBuildMetadataResponse |
| 422 | Unprocessable Entity | Custom model dependency build has failed. | None |

## Retrieve the custom model version's dependency build log by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/dependencyBuildLog/`

Authentication requirements: `BearerAuth`

Retrieve the custom model version's dependency build log.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Example responses

> 200 Response

```
{
  "properties": {
    "data": {
      "description": "The custom model version's dependency build log in tar.gz format.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The log file generated during the custom model version's dependency build. | DependencyBuildLogResponse |
| 404 | Not Found | Dependency build is in progress or could not be found. | None |
| 422 | Unprocessable Entity | Custom model dependency build has not started. | None |

## Download custom model version content by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/download/`

Authentication requirements: `BearerAuth`

Download a specific item bundle from a custom model as a zip compressed archive.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| pps | query | string | false | Download model version from PPS tab.If "true" specified, model archive includes dependencies install script. If "false" specified, dependencies script is not included. If not specified -> "false" behavior. |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| pps | [false, False, true, True] |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The download succeeded. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 200 | Content-Disposition | string |  | Contains an auto generated filename for this download ("attachment;filename=model--version-.zip"). |

## Get custom model feature impact by custom model ID

Operation path: `GET /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/featureImpact/`

Authentication requirements: `BearerAuth`

Retrieve feature impact scores for features in a custom inference model image.

This route is a counterpart of a corresponding endpoint for native models:
[GET /api/v2/projects/{projectId}/models/{modelId}/featureImpact/][get-apiv2projectsprojectidmodelsmodelidfeatureimpact].

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "Number of feature impact records in a given batch.",
      "type": "integer"
    },
    "featureImpacts": {
      "description": "A list which contains feature impact scores for each feature used by a model. If the model has more than 1000 features, the most important 1000 features are returned.",
      "items": {
        "properties": {
          "featureName": {
            "description": "The name of the feature.",
            "type": "string"
          },
          "impactNormalized": {
            "description": "The same as `impactUnnormalized`, but normalized such that the highest value is `1`.",
            "maximum": 1,
            "type": "number"
          },
          "impactUnnormalized": {
            "description": "How much worse the error metric score is when making predictions on modified data.",
            "type": "number"
          },
          "parentFeatureName": {
            "description": "The name of the parent feature.",
            "type": [
              "string",
              "null"
            ]
          },
          "redundantWith": {
            "description": "Name of feature that has the highest correlation with this feature.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "featureName",
          "impactNormalized",
          "impactUnnormalized",
          "redundantWith"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL for the next page of results, or null if there is no next page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL for the previous page of results, or null if there is no previous page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "ranRedundancyDetection": {
      "description": "Indicates whether redundant feature identification was run while calculating this feature impact.",
      "type": "boolean"
    },
    "rowCount": {
      "description": "The number of rows that was used to calculate feature impact. For the feature impact calculated with the default logic, without specifying the ``rowCount``, we return ``null`` here.",
      "type": [
        "integer",
        "null"
      ],
      "x-versionadded": "v2.21"
    },
    "shapBased": {
      "description": "Indicates whether feature impact was calculated using Shapley values. True for anomaly detection models when the project is unsupervised, as permutation approach is not applicable. Note that supervised projects must use an alternative route for SHAP impact: /api/v2/projects/(projectId)/models/(modelId)/shapImpact/",
      "type": "boolean",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "count",
    "featureImpacts",
    "next",
    "previous",
    "ranRedundancyDetection",
    "rowCount",
    "shapBased"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | Custom model feature impact returned. | FeatureImpactResponse |
| 404 | Not Found | No feature impact data found for custom model. | None |
| 422 | Unprocessable Entity | Cannot retrieve feature impact scores: (1) if custom model is not an inference model, (2) if training data is not assigned, (3) if feature impact job is in progress for custom model. | None |

## Create custom model feature impact by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/featureImpact/`

Authentication requirements: `BearerAuth`

Add a request to calculate feature impact for a custom inference model image to             the queue.

This route is a counterpart of a corresponding endpoint for native models:
[POST /api/v2/projects/{projectId}/models/{modelId}/featureImpact/][post-apiv2projectsprojectidmodelsmodelidfeatureimpact].

### Body parameter

```
{
  "properties": {
    "rowCount": {
      "description": "The sample size to use for Feature Impact computation. It is possible to re-compute Feature Impact with a different row count.",
      "maximum": 100000,
      "minimum": 10,
      "type": "integer",
      "x-versionadded": "v2.21"
    }
  },
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| body | body | FeatureImpactCreatePayload | false | none |

### Example responses

> 202 Response

```
{
  "properties": {
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] for tracking job status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Feature impact request has been successfully submitted. | FeatureImpactCreateResponse |
| 404 | Not Found | If feature impact has already been submitted. The response will include jobId property which can be used for tracking its progress. | None |
| 422 | Unprocessable Entity | If job cannot be submitted because of invalid input or model state: (1) if image id does not correspond to a custom inference model, (2) if training data is not yet assigned or assignment is in progress, (3) if the rowCount exceeds the minimum or maximum value for this model's training data. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | Contains a url for tracking job status: [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid]. |

## Create a new prediction explanations initialization by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/predictionExplanationsInitialization/`

Authentication requirements: `BearerAuth`

Create a new prediction explanations initialization for custom model version. This is a necessary prerequisite for generating prediction explanations.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The request was accepted and will be worked on. | None |
| 422 | Unprocessable Entity | Specified custom model is not valid for prediction explanations. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL to poll to track the prediction explanation initialization has finished. |

## Update a codespace by custom model ID

Operation path: `POST /api/v2/customModels/{customModelId}/versions/{customModelVersionId}/toCodespace/`

Authentication requirements: `BearerAuth`

Update a codespace with files from the custom model version.

### Body parameter

```
{
  "properties": {
    "codespaceId": {
      "description": "The ID of the codespace that should be updated with custom model version files.",
      "type": "string"
    }
  },
  "required": [
    "codespaceId"
  ],
  "type": "object",
  "x-versionadded": "v2.37"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| customModelId | path | string | true | The ID of the custom model. |
| customModelVersionId | path | string | true | The ID of the custom model version. |
| body | body | CustomModelVersionToCodespace | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | None |
| 202 | Accepted | Task for uploading applied. | None |

## List execution environments

Operation path: `GET /api/v2/executionEnvironments/`

Authentication requirements: `BearerAuth`

List all execution environments sorted by creation time descending.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| searchFor | query | string | false | String to search for occurence in all execution environment's description and label. Search is case insensitive. If not specified, all execution environments will be returned. |
| useCases | query | string | false | If specified, only execution environments with this use case are returned. |
| isPublic | query | boolean | false | If set, only return execution environments matching this setting. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| useCases | [customModel, notebook, gpu, customApplication, sparkApplication, customJob] |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of execution environments.",
      "items": {
        "properties": {
          "created": {
            "description": "ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
            "type": "string"
          },
          "deploymentsCount": {
            "description": "Number of deployments in environment.",
            "type": "integer"
          },
          "description": {
            "description": "The description of the environment.",
            "type": "string"
          },
          "id": {
            "description": "The ID of the environment.",
            "type": "string"
          },
          "isPublic": {
            "description": "If the environment is public.",
            "type": "boolean",
            "x-versionadded": "v2.23"
          },
          "latestSuccessfulVersion": {
            "description": "Latest version build for this environment.",
            "properties": {
              "buildId": {
                "description": "The environment version image build ID.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "buildStatus": {
                "description": "The status of the build.",
                "enum": [
                  "submitted",
                  "processing",
                  "failed",
                  "success",
                  "aborted"
                ],
                "type": "string"
              },
              "contextUrl": {
                "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
                "type": "string",
                "x-versionadded": "v2.37"
              },
              "created": {
                "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
                "type": "string"
              },
              "description": {
                "description": "The description of the environment version.",
                "type": "string"
              },
              "dockerContext": {
                "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerContextSize": {
                "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "dockerImage": {
                "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerImageSize": {
                "description": "The size of the built Docker image in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "environmentId": {
                "description": "The ID of the environment.",
                "type": "string"
              },
              "id": {
                "description": "The ID of the environment version.",
                "type": "string"
              },
              "imageId": {
                "description": "The Docker image ID of the environment version.",
                "type": "string"
              },
              "label": {
                "description": "Human readable version indicator.",
                "type": "string"
              },
              "sourceDockerImageUri": {
                "description": "The image URI that was used as a base to build the environment.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.37"
              }
            },
            "required": [
              "buildStatus",
              "contextUrl",
              "created",
              "description",
              "dockerContext",
              "dockerContextSize",
              "dockerImage",
              "dockerImageSize",
              "environmentId",
              "id",
              "imageId",
              "label"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "latestVersion": {
            "description": "Latest version build for this environment.",
            "properties": {
              "buildId": {
                "description": "The environment version image build ID.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "buildStatus": {
                "description": "The status of the build.",
                "enum": [
                  "submitted",
                  "processing",
                  "failed",
                  "success",
                  "aborted"
                ],
                "type": "string"
              },
              "contextUrl": {
                "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
                "type": "string",
                "x-versionadded": "v2.37"
              },
              "created": {
                "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
                "type": "string"
              },
              "description": {
                "description": "The description of the environment version.",
                "type": "string"
              },
              "dockerContext": {
                "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerContextSize": {
                "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "dockerImage": {
                "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerImageSize": {
                "description": "The size of the built Docker image in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "environmentId": {
                "description": "The ID of the environment.",
                "type": "string"
              },
              "id": {
                "description": "The ID of the environment version.",
                "type": "string"
              },
              "imageId": {
                "description": "The Docker image ID of the environment version.",
                "type": "string"
              },
              "label": {
                "description": "Human readable version indicator.",
                "type": "string"
              },
              "sourceDockerImageUri": {
                "description": "The image URI that was used as a base to build the environment.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.37"
              }
            },
            "required": [
              "buildStatus",
              "contextUrl",
              "created",
              "description",
              "dockerContext",
              "dockerContextSize",
              "dockerImage",
              "dockerImageSize",
              "environmentId",
              "id",
              "imageId",
              "label"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "name": {
            "description": "The name of the environment.",
            "type": "string"
          },
          "programmingLanguage": {
            "description": "The programming language of the environment to be created.",
            "enum": [
              "python",
              "r",
              "java",
              "julia",
              "legacy",
              "other"
            ],
            "type": "string"
          },
          "useCases": {
            "description": "The list of use cases supported by the environment",
            "items": {
              "enum": [
                "customModel",
                "notebook",
                "gpu",
                "customApplication",
                "sparkApplication",
                "customJob"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "type": "array",
            "x-versionadded": "v2.36"
          },
          "username": {
            "description": "The username of the user.",
            "type": "string"
          }
        },
        "required": [
          "created",
          "description",
          "id",
          "isPublic",
          "latestSuccessfulVersion",
          "latestVersion",
          "name",
          "programmingLanguage",
          "username"
        ],
        "type": "object",
        "x-versionadded": "v2.36"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The request was successful. | ExecutionEnvironmentListResponse |

## Create an execution environment

Operation path: `POST /api/v2/executionEnvironments/`

Authentication requirements: `BearerAuth`

Create a new execution environment.

### Body parameter

```
{
  "properties": {
    "description": {
      "default": "",
      "description": "The description of the environment to be created.",
      "maxLength": 10000,
      "type": "string"
    },
    "environmentId": {
      "description": "The ID the new environment should use. Only admins can create environments with pre-defined IDs",
      "type": "string"
    },
    "isPublic": {
      "description": "True/False public access for the environment. Public environments can be used by all users without sharing. Public access to environments can only be added by an admin",
      "type": "boolean"
    },
    "name": {
      "description": "The name of the environment to be created.",
      "maxLength": 255,
      "type": "string"
    },
    "programmingLanguage": {
      "default": "other",
      "description": "The programming language of the environment to be created.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    }
  },
  "required": [
    "name"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | ExecutionEnvironmentCreate | false | none |

### Example responses

> 201 Response

```
{
  "properties": {
    "id": {
      "description": "The ID of the newly created environment.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 201 | Created | The new environment has been successfully created. | ExecutionEnvironmentCreateResponse |
| 409 | Conflict | An environment with the supplied ID already exists | None |
| 422 | Unprocessable Entity | User does not have permission to create legacy conversion environment | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 201 | Location | string |  | URL from which the new environment can be retrieved. |

## Destroy an execution environment by environment ID

Operation path: `DELETE /api/v2/executionEnvironments/{environmentId}/`

Authentication requirements: `BearerAuth`

Mark a specified execution environment as deleted. Environments are never deleted from database, however marked environments don't appear in any API. Relevant CustomModelImage will be deleted.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | The execution environment has been successfully deleted. | None |
| 409 | Conflict | This environment is currently deployed and cannot be deleted. The response body will contain link where those deployments can be retrieved. | None |

## Get an execution environment by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/`

Authentication requirements: `BearerAuth`

Retrieve a single execution environment.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |

### Example responses

> 200 Response

```
{
  "properties": {
    "created": {
      "description": "ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
      "type": "string"
    },
    "deploymentsCount": {
      "description": "Number of deployments in environment.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the environment.",
      "type": "string"
    },
    "id": {
      "description": "The ID of the environment.",
      "type": "string"
    },
    "isPublic": {
      "description": "If the environment is public.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "latestSuccessfulVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "latestVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "name": {
      "description": "The name of the environment.",
      "type": "string"
    },
    "programmingLanguage": {
      "description": "The programming language of the environment to be created.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    },
    "username": {
      "description": "The username of the user.",
      "type": "string"
    }
  },
  "required": [
    "created",
    "description",
    "id",
    "isPublic",
    "latestSuccessfulVersion",
    "latestVersion",
    "name",
    "programmingLanguage",
    "username"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The request was successful. | ExecutionEnvironmentResponse |

## Update an execution environment by environment ID

Operation path: `PATCH /api/v2/executionEnvironments/{environmentId}/`

Authentication requirements: `BearerAuth`

Update an execution environment.

### Body parameter

```
{
  "properties": {
    "description": {
      "description": "The new description of the environment.",
      "maxLength": 10000,
      "type": "string"
    },
    "isPublic": {
      "description": "If the environment is public.",
      "type": "boolean",
      "x-versionadded": "v2.39"
    },
    "name": {
      "description": "New execution environment name.",
      "maxLength": 255,
      "type": "string"
    },
    "programmingLanguage": {
      "description": "The new programming language of the environment.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    }
  },
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |
| body | body | ExecutionEnvironmentUpdate | false | none |

### Example responses

> 200 Response

```
{
  "properties": {
    "created": {
      "description": "ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
      "type": "string"
    },
    "deploymentsCount": {
      "description": "Number of deployments in environment.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the environment.",
      "type": "string"
    },
    "id": {
      "description": "The ID of the environment.",
      "type": "string"
    },
    "isPublic": {
      "description": "If the environment is public.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "latestSuccessfulVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "latestVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "name": {
      "description": "The name of the environment.",
      "type": "string"
    },
    "programmingLanguage": {
      "description": "The programming language of the environment to be created.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    },
    "username": {
      "description": "The username of the user.",
      "type": "string"
    }
  },
  "required": [
    "created",
    "description",
    "id",
    "isPublic",
    "latestSuccessfulVersion",
    "latestVersion",
    "name",
    "programmingLanguage",
    "username"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The execution environment has been successfully updated. | ExecutionEnvironmentResponse |

## Get a list of users who have access by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/accessControl/`

Authentication requirements: `BearerAuth`

Get a list of users who have access to this execution environment and their roles.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped |
| limit | query | integer | true | At most this many results are returned |
| username | query | string | false | Optional, only return the access control information for a user with this username. |
| userId | query | string | false | Optional, only return the access control information for a user with this user ID. |
| environmentId | path | string | true | The ID of the environment. |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "role": {
            "description": "The role of the user on this entity.",
            "type": "string"
          },
          "userId": {
            "description": "The identifier of the user that has access to this entity.",
            "type": "string"
          },
          "username": {
            "description": "The username of the user that has access to the entity.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | SharingListResponse |
| 400 | Bad Request | Bad Request. Both username and userId were specified | None |
| 403 | Forbidden | Forbidden. The user does not have permissions to view the execution environment access list. | None |
| 404 | Not Found | Execution environment not found. Either the execution environment does not exist or user does not have permission to view it. | None |

## Grant access or update roles by environment ID

Operation path: `PATCH /api/v2/executionEnvironments/{environmentId}/accessControl/`

Authentication requirements: `BearerAuth`

Grant access or update roles for users on this execution environment. Up to 100 user roles may be set in a single request.

### Body parameter

```
{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |
| body | body | SharingUpdateOrRemoveWithGrant | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | none | None |
| 204 | No Content | Roles updated successfully. | None |
| 403 | Forbidden | User can view execution environment but does not have permission to grant these roles on the execution environment. | None |
| 404 | Not Found | Either the execution environment does not exist or the user does not have permissions to view the execution environment. | None |
| 409 | Conflict | The request would leave the execution environment without an owner. | None |
| 422 | Unprocessable Entity | One of the users in the request does not exist, or the request is otherwise invalid. | None |

## List execution environment versions by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/versions/`

Authentication requirements: `BearerAuth`

List all execution environment versions sorted by creation time descending.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| offset | query | integer | true | This many results will be skipped. |
| limit | query | integer | true | At most this many results are returned. |
| buildStatus | query | string | false | Build status of execution environment version to filter. If not specified, all versions will be returned. |
| search | query | string | false | String to search for occurrence in execution environment versions by version id, image_id, search in label and description. Search is case insensitive.If not specified, all execution environment versions will be returned. |
| environmentId | path | string | true | The ID of the environment. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| buildStatus | [submitted, processing, failed, success, aborted] |

### Example responses

> 200 Response

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of execution environment versions.",
      "items": {
        "description": "Latest version build for this environment.",
        "properties": {
          "buildId": {
            "description": "The environment version image build ID.",
            "type": [
              "string",
              "null"
            ]
          },
          "buildStatus": {
            "description": "The status of the build.",
            "enum": [
              "submitted",
              "processing",
              "failed",
              "success",
              "aborted"
            ],
            "type": "string"
          },
          "contextUrl": {
            "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
            "type": "string",
            "x-versionadded": "v2.37"
          },
          "created": {
            "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
            "type": "string"
          },
          "description": {
            "description": "The description of the environment version.",
            "type": "string"
          },
          "dockerContext": {
            "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerContextSize": {
            "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
            "type": [
              "integer",
              "null"
            ]
          },
          "dockerImage": {
            "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerImageSize": {
            "description": "The size of the built Docker image in bytes if available, or `null` if not.",
            "type": [
              "integer",
              "null"
            ]
          },
          "environmentId": {
            "description": "The ID of the environment.",
            "type": "string"
          },
          "id": {
            "description": "The ID of the environment version.",
            "type": "string"
          },
          "imageId": {
            "description": "The Docker image ID of the environment version.",
            "type": "string"
          },
          "label": {
            "description": "Human readable version indicator.",
            "type": "string"
          },
          "sourceDockerImageUri": {
            "description": "The image URI that was used as a base to build the environment.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.37"
          }
        },
        "required": [
          "buildStatus",
          "contextUrl",
          "created",
          "description",
          "dockerContext",
          "dockerContextSize",
          "dockerImage",
          "dockerImageSize",
          "environmentId",
          "id",
          "imageId",
          "label"
        ],
        "type": "object",
        "x-versionadded": "v2.36"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The request was successful. | ExecutionEnvironmentVersionListResponse |

## Create an execution environment version by environment ID

Operation path: `POST /api/v2/executionEnvironments/{environmentId}/versions/`

Authentication requirements: `BearerAuth`

Create a new execution environment version.

### Body parameter

```
properties:
  contextUrl:
    default: ""
    description: Docker context URL of the environment version. It is not intended
      to be used for automatic processing.
    maxLength: 1000
    type: string
    x-versionadded: v2.37
  description:
    default: ""
    description: The description of the environment version.
    maxLength: 10000
    type: string
  dockerContext:
    description: Context tar.gz or zip file. The Docker Context file should be a
      tar.gz or zip file containing at minimum a single top-level file named
      "Dockerfile".  This file should be a Docker-compatible Dockerfile using
      syntax as defined in the `official Docker documentation
      <https://docs.docker.com/engine/reference/builder/>`_. The archive may
      contain additional files as well. These files may be added into the final
      container using `ADD
      <https://docs.docker.com/engine/reference/builder/#add>`_ and/or `COPY
      <https://docs.docker.com/engine/reference/builder/#copy>`_ directives in
      the Dockerfile.
    format: binary
    type: string
  dockerImage:
    description: The pre-built Docker image saved as a .tar archive. If not
      supplied, the environment will be built from the supplied dockerContext.
    format: binary
    type: string
  dockerImageUri:
    description: The URI of the Docker image that is used to build the environment
      version. Parameter dockerContext may also be provided to upload context,
      but the image URI is used for the build.
    type: string
    x-versionadded: v2.37
  environmentVersionId:
    description: The ID the new environment version should use. Only admins can
      create environment versions with pre-defined IDs
    type: string
  label:
    default: ""
    description: Human readable version indicator.
    maxLength: 50
    type: string
type: object
x-versionadded: v2.36
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |
| body | body | ExecutionEnvironmentVersionCreate | false | none |

### Example responses

> 202 Response

```
{
  "properties": {
    "id": {
      "description": "The ID of the newly created environment.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | The new environment version has been successfully accepted to be built. | ExecutionEnvironmentCreateResponse |
| 409 | Conflict | An environment version with the supplied ID already exists. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 202 | Location | string |  | URL from which the new environment version can be retrieved. |

## Get an execution environment version by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/versions/{environmentVersionId}/`

Authentication requirements: `BearerAuth`

Retrieve an execution environment version by ID.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The execution environment ID. |
| environmentVersionId | path | string | true | The execution environment version ID. |

### Example responses

> 200 Response

```
{
  "description": "Latest version build for this environment.",
  "properties": {
    "buildId": {
      "description": "The environment version image build ID.",
      "type": [
        "string",
        "null"
      ]
    },
    "buildStatus": {
      "description": "The status of the build.",
      "enum": [
        "submitted",
        "processing",
        "failed",
        "success",
        "aborted"
      ],
      "type": "string"
    },
    "contextUrl": {
      "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "created": {
      "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
      "type": "string"
    },
    "description": {
      "description": "The description of the environment version.",
      "type": "string"
    },
    "dockerContext": {
      "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
      "type": [
        "string",
        "null"
      ]
    },
    "dockerContextSize": {
      "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
      "type": [
        "integer",
        "null"
      ]
    },
    "dockerImage": {
      "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
      "type": [
        "string",
        "null"
      ]
    },
    "dockerImageSize": {
      "description": "The size of the built Docker image in bytes if available, or `null` if not.",
      "type": [
        "integer",
        "null"
      ]
    },
    "environmentId": {
      "description": "The ID of the environment.",
      "type": "string"
    },
    "id": {
      "description": "The ID of the environment version.",
      "type": "string"
    },
    "imageId": {
      "description": "The Docker image ID of the environment version.",
      "type": "string"
    },
    "label": {
      "description": "Human readable version indicator.",
      "type": "string"
    },
    "sourceDockerImageUri": {
      "description": "The image URI that was used as a base to build the environment.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.37"
    }
  },
  "required": [
    "buildStatus",
    "contextUrl",
    "created",
    "description",
    "dockerContext",
    "dockerContextSize",
    "dockerImage",
    "dockerImageSize",
    "environmentId",
    "id",
    "imageId",
    "label"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The request was successful. | ExecutionEnvironmentVersionResponse |

## Download the execution environment build log by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/versions/{environmentVersionId}/buildLog/`

Authentication requirements: `BearerAuth`

Retrieve execution environment version build log.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The execution environment ID. |
| environmentVersionId | path | string | true | The execution environment version ID. |

### Example responses

> 200 Response

```
{
  "properties": {
    "error": {
      "description": "The message specifying why the build failed. Empty if the build finished successfully.",
      "type": "string"
    },
    "log": {
      "description": "The full console output of the execution environment build. Logs are empty unless version build is finished.",
      "type": "string"
    }
  },
  "required": [
    "error",
    "log"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The build log content. | ExecutionEnvironmentVersionBuildLogResponse |
| 400 | Bad Request | Bad request. | None |
| 404 | Not Found | Execution environment or execution environment version not found. Either the execution environment or its version does not exist or the user does not have permission to view the execution environment. | None |

## Stop the execution environment build by environment ID

Operation path: `PATCH /api/v2/executionEnvironments/{environmentId}/versions/{environmentVersionId}/cancelBuild/`

Authentication requirements: `BearerAuth`

Stop the execution environment version build.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The execution environment ID. |
| environmentVersionId | path | string | true | The execution environment version ID. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | Build stopped successfully. | None |
| 404 | Not Found | Execution environment or execution environment version not found. Either the execution environment or its version does not exist or the user does not have permission to view the execution environment. | None |
| 409 | Conflict | Build has reached a terminal state and cannot be stopped. | None |

## Submit image tarball build by environment ID

Operation path: `GET /api/v2/executionEnvironments/{environmentId}/versions/{environmentVersionId}/download/`

Authentication requirements: `BearerAuth`

Submit image tarball build for URI based environment.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| imageFile | query | string | false | If true, the built Docker image will be downloaded as a tar archive, otherwise the Docker context will be returned |
| environmentId | path | string | true | The ID of the environment. |
| environmentVersionId | path | string | true | The ID of the environment version. |

### Enumerated Values

| Parameter | Value |
| --- | --- |
| imageFile | [false, False, true, True] |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 200 | OK | The download succeeded. | None |

### Response Headers

| Status | Header | Type | Format | Description |
| --- | --- | --- | --- | --- |
| 200 | Content-Disposition | string |  | Contains an auto generated filename for this download. |

## Request on-demand image build by environment ID

Operation path: `POST /api/v2/executionEnvironments/{environmentId}/versions/{environmentVersionId}/download/`

Authentication requirements: `BearerAuth`

Request on-demand image build for an execution environment version based on image URI.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| environmentId | path | string | true | The ID of the environment. |
| environmentVersionId | path | string | true | The ID of the environment version. |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 202 | Accepted | Image build submitted | None |

## Permanently delete execution environments

Operation path: `POST /api/v2/executionEnvironmentsPermadelete/`

Authentication requirements: `BearerAuth`

Permanently delete records and files associated with previously soft deleted execution environments.

### Body parameter

```
{
  "properties": {
    "executionEnvironmentIds": {
      "description": "List of custom environments to be permanently deleted.",
      "items": {
        "description": "An ID for a custom environment to be permanently deleted.",
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "executionEnvironmentIds"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| body | body | ExecutionEnvironmentPermadelete | false | none |

### Responses

| Status | Meaning | Description | Schema |
| --- | --- | --- | --- |
| 204 | No Content | none | None |
| 403 | Forbidden | User does not have access to this functionality. | None |
| 404 | Not Found | At least one environment was not found. | None |
| 409 | Conflict | At least one environment has not been soft deleted. | None |

# Schemas

## AccessControl

```
{
  "properties": {
    "canShare": {
      "description": "Whether the recipient can share the role further.",
      "type": "boolean"
    },
    "role": {
      "description": "The role of the user on this entity.",
      "type": "string"
    },
    "userId": {
      "description": "The identifier of the user that has access to this entity.",
      "type": "string"
    },
    "username": {
      "description": "The username of the user that has access to the entity.",
      "type": "string"
    }
  },
  "required": [
    "canShare",
    "role",
    "userId",
    "username"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| canShare | boolean | true |  | Whether the recipient can share the role further. |
| role | string | true |  | The role of the user on this entity. |
| userId | string | true |  | The identifier of the user that has access to this entity. |
| username | string | true |  | The username of the user that has access to the entity. |

## BaseDependencyBuildMetadataResponse

```
{
  "properties": {
    "buildEnd": {
      "description": "The ISO-8601 encoded time when this build completed.",
      "type": [
        "string",
        "null"
      ]
    },
    "buildLogLocation": {
      "description": "The URL to download the build logs from this build.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "buildStart": {
      "description": "The ISO-8601 encoded time when this build started.",
      "type": "string"
    },
    "buildStatus": {
      "description": "The current status of the dependency build.",
      "enum": [
        "submitted",
        "processing",
        "failed",
        "success",
        "aborted"
      ],
      "type": "string"
    }
  },
  "required": [
    "buildEnd",
    "buildLogLocation",
    "buildStart",
    "buildStatus"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| buildEnd | string,null | true |  | The ISO-8601 encoded time when this build completed. |
| buildLogLocation | string,null(uri) | true |  | The URL to download the build logs from this build. |
| buildStart | string | true |  | The ISO-8601 encoded time when this build started. |
| buildStatus | string | true |  | The current status of the dependency build. |

### Enumerated Values

| Property | Value |
| --- | --- |
| buildStatus | [submitted, processing, failed, success, aborted] |

## ConversionCreateQuery

```
{
  "properties": {
    "mainProgramItemId": {
      "description": "The main program file item ID.",
      "type": "string",
      "x-versionadded": "v2.26"
    }
  },
  "required": [
    "mainProgramItemId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| mainProgramItemId | string | true |  | The main program file item ID. |

## ConversionListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model conversions.",
      "items": {
        "properties": {
          "conversionInProgress": {
            "description": "Whether a custom model conversion is in progress or not.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "conversionSucceeded": {
            "description": "Indication for a successful custom model conversion.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the custom model conversion created.",
            "type": "string"
          },
          "customModelVersionId": {
            "description": "ID of the custom model version.",
            "type": "string"
          },
          "generatedMetadata": {
            "description": "Custom model conversion output metadata.",
            "properties": {
              "outputColumns": {
                "description": "A list of column lists that are associated with the output datasets from the custom model conversion process.",
                "items": {
                  "description": "A columns list belong to a single dataset output from a custom model conversion process",
                  "items": {
                    "description": "A column name belong to a single dataset output from a custom model conversion process",
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 50,
                  "minItems": 1,
                  "type": "array"
                },
                "maxItems": 50,
                "type": "array"
              },
              "outputDatasets": {
                "description": "A list of output datasets from the custom model conversion process.",
                "items": {
                  "description": "An output dataset name from the custom model conversion process",
                  "type": "string"
                },
                "maxItems": 50,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "outputColumns",
              "outputDatasets"
            ],
            "type": "object"
          },
          "id": {
            "description": "ID of the custom model version.",
            "type": "string"
          },
          "logMessage": {
            "description": "The output log message from the custom model conversion process.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "mainProgramItemId": {
            "description": "The main program file item ID.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "shouldStop": {
            "default": false,
            "description": "Whether the user requested to stop the given conversion.",
            "type": "boolean",
            "x-versionadded": "v2.26"
          }
        },
        "required": [
          "created",
          "customModelVersionId",
          "id"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [ConversionResponse] | true | maxItems: 1000 | List of custom model conversions. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## ConversionResponse

```
{
  "properties": {
    "conversionInProgress": {
      "description": "Whether a custom model conversion is in progress or not.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "conversionSucceeded": {
      "description": "Indication for a successful custom model conversion.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the custom model conversion created.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "ID of the custom model version.",
      "type": "string"
    },
    "generatedMetadata": {
      "description": "Custom model conversion output metadata.",
      "properties": {
        "outputColumns": {
          "description": "A list of column lists that are associated with the output datasets from the custom model conversion process.",
          "items": {
            "description": "A columns list belong to a single dataset output from a custom model conversion process",
            "items": {
              "description": "A column name belong to a single dataset output from a custom model conversion process",
              "maxLength": 1024,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "maxItems": 50,
          "type": "array"
        },
        "outputDatasets": {
          "description": "A list of output datasets from the custom model conversion process.",
          "items": {
            "description": "An output dataset name from the custom model conversion process",
            "type": "string"
          },
          "maxItems": 50,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "outputColumns",
        "outputDatasets"
      ],
      "type": "object"
    },
    "id": {
      "description": "ID of the custom model version.",
      "type": "string"
    },
    "logMessage": {
      "description": "The output log message from the custom model conversion process.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "mainProgramItemId": {
      "description": "The main program file item ID.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "shouldStop": {
      "default": false,
      "description": "Whether the user requested to stop the given conversion.",
      "type": "boolean",
      "x-versionadded": "v2.26"
    }
  },
  "required": [
    "created",
    "customModelVersionId",
    "id"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| conversionInProgress | boolean,null | false |  | Whether a custom model conversion is in progress or not. |
| conversionSucceeded | boolean,null | false |  | Indication for a successful custom model conversion. |
| created | string | true |  | ISO-8601 timestamp of when the custom model conversion created. |
| customModelVersionId | string | true |  | ID of the custom model version. |
| generatedMetadata | GeneratedMetadata | false |  | Custom model conversion output metadata. |
| id | string | true |  | ID of the custom model version. |
| logMessage | string,null | false |  | The output log message from the custom model conversion process. |
| mainProgramItemId | string,null | false |  | The main program file item ID. |
| shouldStop | boolean | false |  | Whether the user requested to stop the given conversion. |

## CustomModelAccessControlListResponse

```
{
  "properties": {
    "count": {
      "description": "Number of items in current page.",
      "type": "integer"
    },
    "data": {
      "description": "List of the requested custom model access control entries.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether this user can share this custom model",
            "type": "boolean"
          },
          "role": {
            "description": "This users role.",
            "type": "string"
          },
          "userId": {
            "description": "This user's userId.",
            "type": "string"
          },
          "username": {
            "description": "The username for this user's entry.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "URL pointing to the next page (if null, there is no next page)",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "URL pointing to the previous page (if null, there is no previous page",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | true |  | Number of items in current page. |
| data | [CustomModelAccessControlResponse] | true | maxItems: 1000 | List of the requested custom model access control entries. |
| next | string,null(uri) | true |  | URL pointing to the next page (if null, there is no next page) |
| previous | string,null(uri) | true |  | URL pointing to the previous page (if null, there is no previous page |

## CustomModelAccessControlResponse

```
{
  "properties": {
    "canShare": {
      "description": "Whether this user can share this custom model",
      "type": "boolean"
    },
    "role": {
      "description": "This users role.",
      "type": "string"
    },
    "userId": {
      "description": "This user's userId.",
      "type": "string"
    },
    "username": {
      "description": "The username for this user's entry.",
      "type": "string"
    }
  },
  "required": [
    "canShare",
    "role",
    "userId",
    "username"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| canShare | boolean | true |  | Whether this user can share this custom model |
| role | string | true |  | This users role. |
| userId | string | true |  | This user's userId. |
| username | string | true |  | The username for this user's entry. |

## CustomModelAccessControlUpdateResponse

```
{
  "properties": {
    "data": {
      "description": "Roles were successfully updated.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether this user can share this custom model",
            "type": "boolean"
          },
          "role": {
            "description": "This users role.",
            "type": "string"
          },
          "userId": {
            "description": "This user's userId.",
            "type": "string"
          },
          "username": {
            "description": "The username for this user's entry.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| data | [CustomModelAccessControlResponse] | true | maxItems: 1000 | Roles were successfully updated. |

## CustomModelAsyncOperationResponse

```
{
  "properties": {
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| statusId | string | true |  | ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status |

## CustomModelConversionAsyncOperationResponse

```
{
  "properties": {
    "conversionId": {
      "description": "ID that can be used to stop a given conversion.",
      "type": "string"
    },
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status",
      "type": "string"
    }
  },
  "required": [
    "conversionId",
    "statusId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| conversionId | string | true |  | ID that can be used to stop a given conversion. |
| statusId | string | true |  | ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the testing job's status |

## CustomModelCopy

```
{
  "properties": {
    "customModelId": {
      "description": "The ID of the custom model to copy.",
      "type": "string"
    }
  },
  "required": [
    "customModelId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| customModelId | string | true |  | The ID of the custom model to copy. |

## CustomModelCreate

```
{
  "properties": {
    "calibratePredictions": {
      "default": true,
      "description": "Whether model predictions should be calibrated by DataRobot.Only applies to anomaly detection training tasks; we recommend this if you have not already included calibration in your model code.Calibration improves the probability estimates of a model, and modifies the predictions of non-probabilistic models to be interpretable as probabilities. This will facilitate comparison to DataRobot models, and give access to ROC curve insights on external data.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "classLabels": {
      "description": "The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string",
      "x-versiondeprecated": "v2.28"
    },
    "description": {
      "description": "The user-friendly description of the model.",
      "maxLength": 10000,
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "Programming language name in which model is written.",
      "maxLength": 500,
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The user-friendly name for the model.",
      "maxLength": 255,
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "The negative class label for custom models that support binary classification. If specified, `positiveClassLabel` must also be specified. Default value is \"0\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "The positive class label for custom models that support binary classification. If specified, `negativeClassLabel` must also be specified. Default value is \"1\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "predictionThreshold": {
      "default": 0.5,
      "description": "The prediction threshold which will be used for binary classification custom model.",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean",
      "x-versiondeprecated": "v2.23"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean",
      "x-versiondeprecated": "v2.23"
    },
    "tags": {
      "description": "The list of a tag's name/value pairs.",
      "items": {
        "properties": {
          "name": {
            "description": "The name of the tag.",
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "targetType": {
      "description": "The target type of the custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string",
      "x-versionadded": "v2.23"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string",
      "x-versionadded": "v2.29"
    }
  },
  "required": [
    "customModelType",
    "name"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| calibratePredictions | boolean | false |  | Whether model predictions should be calibrated by DataRobot.Only applies to anomaly detection training tasks; we recommend this if you have not already included calibration in your model code.Calibration improves the probability estimates of a model, and modifies the predictions of non-probabilistic models to be interpretable as probabilities. This will facilitate comparison to DataRobot models, and give access to ROC curve insights on external data. |
| classLabels | [string] | false | maxItems: 100 | The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output |
| customModelType | string | true |  | The type of custom model. |
| description | string | false | maxLength: 10000 | The user-friendly description of the model. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| isTrainingDataForVersionsPermanentlyEnabled | boolean | false |  | Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model. |
| language | string | false | maxLength: 500 | Programming language name in which model is written. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed |
| name | string | true | maxLength: 255 | The user-friendly name for the model. |
| negativeClassLabel | string,null | false | maxLength: 500 | The negative class label for custom models that support binary classification. If specified, positiveClassLabel must also be specified. Default value is "0". |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| playgroundId | string,null | false |  | The ID of the GenAI Playground associated with the given custom inference model. |
| positiveClassLabel | string,null | false | maxLength: 500 | The positive class label for custom models that support binary classification. If specified, negativeClassLabel must also be specified. Default value is "1". |
| predictionThreshold | number | false | maximum: 1minimum: 0 | The prediction threshold which will be used for binary classification custom model. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| supportsBinaryClassification | boolean | false |  | Whether the model supports binary classification. |
| supportsRegression | boolean | false |  | Whether the model supports regression. |
| tags | [CustomModelTagCreate] | false | maxItems: 50minItems: 1 | The list of a tag's name/value pairs. |
| targetName | string,null | false | maxLength: 500 | The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error. |
| targetType | string | false |  | The target type of the custom model. |
| userProvidedId | string | false | maxLength: 100 | A user-provided unique ID associated with the given custom inference model. |

### Enumerated Values

| Property | Value |
| --- | --- |
| customModelType | [training, inference] |
| networkEgressPolicy | [NONE, DR_API_ACCESS, PUBLIC] |
| targetType | [Binary, Regression, Multiclass, Anomaly, Transform, TextGeneration, GeoPoint, Unstructured, VectorDatabase, AgenticWorkflow, MCP] |

## CustomModelCreateFromTemplatePayload

```
{
  "properties": {
    "nimContainerTagOverride": {
      "description": "Allows to override the NIM container image tag.",
      "maxLength": 100,
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": "string"
    },
    "secretConfigId": {
      "description": "A secret configuration that is used by a custom model.",
      "type": [
        "string",
        "null"
      ]
    },
    "templateId": {
      "description": "The id of the custom model template.",
      "type": "string"
    }
  },
  "required": [
    "resourceBundleId",
    "templateId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| nimContainerTagOverride | string | false | maxLength: 100 | Allows to override the NIM container image tag. |
| resourceBundleId | string | true |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| secretConfigId | string,null | false |  | A secret configuration that is used by a custom model. |
| templateId | string | true |  | The id of the custom model template. |

## CustomModelCreateFromTemplateResponse

```
{
  "properties": {
    "customModelId": {
      "description": "The id of the created custom model.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The id of the created custom model version.",
      "type": "string"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| customModelId | string | true |  | The id of the created custom model. |
| customModelVersionId | string | true |  | The id of the created custom model version. |

## CustomModelListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom models.",
      "items": {
        "properties": {
          "calibratePredictions": {
            "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
            "type": "boolean"
          },
          "classLabels": {
            "description": "If the model is a multiclass classifier, these are the model's class labels",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the model was created.",
            "type": "string"
          },
          "createdBy": {
            "description": "The username of the custom model creator.",
            "type": "string"
          },
          "customModelType": {
            "description": "The type of custom model.",
            "enum": [
              "training",
              "inference"
            ],
            "type": "string"
          },
          "deploymentsCount": {
            "description": "The number of models deployed.",
            "type": "integer"
          },
          "description": {
            "description": "The description of the model.",
            "type": "string"
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "gitModelVersion": {
            "description": "Contains git related attributes that are associated with a custom model version.",
            "properties": {
              "commitUrl": {
                "description": "A URL to the commit page in GitHub repository.",
                "format": "uri",
                "type": "string"
              },
              "mainBranchCommitSha": {
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": "string"
              },
              "pullRequestCommitSha": {
                "default": null,
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": [
                  "string",
                  "null"
                ]
              },
              "refName": {
                "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                "type": "string"
              }
            },
            "required": [
              "commitUrl",
              "mainBranchCommitSha",
              "pullRequestCommitSha",
              "refName"
            ],
            "type": "object"
          },
          "id": {
            "description": "The ID of the custom model.",
            "type": "string"
          },
          "isTrainingDataForVersionsPermanentlyEnabled": {
            "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
            "type": "boolean",
            "x-versionadded": "v2.30"
          },
          "language": {
            "description": "The programming language used to write the model.",
            "type": "string"
          },
          "latestVersion": {
            "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
            "properties": {
              "baseEnvironmentId": {
                "description": "The base environment to use with this model version.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.22"
              },
              "baseEnvironmentVersionId": {
                "description": "The base environment version to use with this model version.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.25"
              },
              "created": {
                "description": "ISO-8601 timestamp of when the model was created.",
                "type": "string"
              },
              "customModelId": {
                "description": "The ID of the custom model.",
                "type": "string"
              },
              "dependencies": {
                "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
                "items": {
                  "properties": {
                    "constraints": {
                      "description": "Constraints that should be applied to the dependency when installed.",
                      "items": {
                        "properties": {
                          "constraintType": {
                            "description": "The constraint type to apply to the version.",
                            "enum": [
                              "<",
                              "<=",
                              "==",
                              ">=",
                              ">"
                            ],
                            "type": "string"
                          },
                          "version": {
                            "description": "The version label to use in the constraint.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "constraintType",
                          "version"
                        ],
                        "type": "object"
                      },
                      "maxItems": 100,
                      "type": "array"
                    },
                    "extras": {
                      "description": "The dependency's package extras.",
                      "type": "string"
                    },
                    "line": {
                      "description": "The original line from the requirements.txt file.",
                      "type": "string"
                    },
                    "lineNumber": {
                      "description": "The line number the requirement was on in requirements.txt.",
                      "type": "integer"
                    },
                    "packageName": {
                      "description": "The dependency's package name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraints",
                    "line",
                    "lineNumber",
                    "packageName"
                  ],
                  "type": "object"
                },
                "maxItems": 1000,
                "type": "array",
                "x-versionadded": "v2.22"
              },
              "description": {
                "description": "Description of a custom model version.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "desiredMemory": {
                "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
                "maximum": 15032385536,
                "minimum": 134217728,
                "type": [
                  "integer",
                  "null"
                ],
                "x-versiondeprecated": "v2.24"
              },
              "gitModelVersion": {
                "description": "Contains git related attributes that are associated with a custom model version.",
                "properties": {
                  "commitUrl": {
                    "description": "A URL to the commit page in GitHub repository.",
                    "format": "uri",
                    "type": "string"
                  },
                  "mainBranchCommitSha": {
                    "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                    "maxLength": 40,
                    "minLength": 40,
                    "type": "string"
                  },
                  "pullRequestCommitSha": {
                    "default": null,
                    "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                    "maxLength": 40,
                    "minLength": 40,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "refName": {
                    "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                    "type": "string"
                  }
                },
                "required": [
                  "commitUrl",
                  "mainBranchCommitSha",
                  "pullRequestCommitSha",
                  "refName"
                ],
                "type": "object"
              },
              "holdoutData": {
                "description": "Holdout data configuration.",
                "properties": {
                  "datasetId": {
                    "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetName": {
                    "description": "A user-friendly name for the dataset.",
                    "maxLength": 255,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetVersionId": {
                    "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "partitionColumn": {
                    "description": "The name of the column containing the partition assignments.",
                    "maxLength": 500,
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "id": {
                "description": "the ID of the custom model version created.",
                "type": "string"
              },
              "isFrozen": {
                "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
                "type": "boolean",
                "x-versiondeprecated": "v2.34"
              },
              "items": {
                "description": "List of file items.",
                "items": {
                  "properties": {
                    "commitSha": {
                      "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "created": {
                      "description": "ISO-8601 timestamp of when the file item was created.",
                      "type": "string"
                    },
                    "fileName": {
                      "description": "The name of the file item.",
                      "type": "string"
                    },
                    "filePath": {
                      "description": "The path of the file item.",
                      "type": "string"
                    },
                    "fileSource": {
                      "description": "The source of the file item.",
                      "type": "string"
                    },
                    "id": {
                      "description": "ID of the file item.",
                      "type": "string"
                    },
                    "ref": {
                      "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryFilePath": {
                      "description": "Full path to the file in the remote repository.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryLocation": {
                      "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "repositoryName": {
                      "description": "Name of the repository from which the file was pulled.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "storagePath": {
                      "description": "Storage path of the file item.",
                      "type": "string",
                      "x-versiondeprecated": "2.25"
                    },
                    "workspaceId": {
                      "description": "The workspace ID of the file item.",
                      "type": "string",
                      "x-versiondeprecated": "2.25"
                    }
                  },
                  "required": [
                    "created",
                    "fileName",
                    "filePath",
                    "fileSource",
                    "id",
                    "storagePath",
                    "workspaceId"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "label": {
                "description": "A semantic version number of the major and minor version.",
                "type": "string"
              },
              "maximumMemory": {
                "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
                "maximum": 15032385536,
                "minimum": 134217728,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "networkEgressPolicy": {
                "description": "Network egress policy.",
                "enum": [
                  "NONE",
                  "PUBLIC"
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "replicas": {
                "description": "A fixed number of replicas that will be set for the given custom-model.",
                "exclusiveMinimum": 0,
                "maximum": 25,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "requiredMetadata": {
                "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
                "type": "object",
                "x-versionadded": "v2.25",
                "x-versiondeprecated": "v2.26"
              },
              "requiredMetadataValues": {
                "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
                "items": {
                  "properties": {
                    "fieldName": {
                      "description": "The required field name. This value will be added as an environment variable when running custom models.",
                      "type": "string"
                    },
                    "value": {
                      "description": "The value for the given field.",
                      "maxLength": 100,
                      "type": "string"
                    }
                  },
                  "required": [
                    "fieldName",
                    "value"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array",
                "x-versionadded": "v2.26"
              },
              "requiresHa": {
                "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
                "type": [
                  "boolean",
                  "null"
                ],
                "x-versionadded": "v2.26"
              },
              "resourceBundleId": {
                "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.33"
              },
              "trainingData": {
                "description": "Training data configuration.",
                "properties": {
                  "assignmentError": {
                    "description": "Training data configuration.",
                    "properties": {
                      "message": {
                        "description": "Training data assignment error message",
                        "maxLength": 10000,
                        "type": [
                          "string",
                          "null"
                        ],
                        "x-versionadded": "v2.31"
                      }
                    },
                    "type": "object"
                  },
                  "assignmentInProgress": {
                    "default": false,
                    "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
                    "type": "boolean"
                  },
                  "datasetId": {
                    "description": "The ID of the dataset.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetName": {
                    "description": "A user-friendly name for the dataset.",
                    "maxLength": 255,
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datasetVersionId": {
                    "description": "The ID of the dataset version.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "versionMajor": {
                "description": "The major version number, incremented on deployments or larger file changes.",
                "type": "integer"
              },
              "versionMinor": {
                "description": "The minor version number, incremented on general file changes.",
                "type": "integer"
              }
            },
            "required": [
              "created",
              "customModelId",
              "description",
              "id",
              "isFrozen",
              "items",
              "label",
              "versionMajor",
              "versionMinor"
            ],
            "type": "object"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "name": {
            "description": "The name of the model.",
            "type": "string"
          },
          "negativeClassLabel": {
            "description": "If the model is a binary classifier, this is the negative class label.",
            "type": "string"
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "DR_API_ACCESS",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "playgroundId": {
            "description": "The ID of the GenAI Playground associated with the given custom inference model.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "positiveClassLabel": {
            "description": "If the model is a binary classifier, this is the positive class label.",
            "type": "string"
          },
          "predictionThreshold": {
            "description": "If the model is a binary classifier, this is the prediction threshold.",
            "type": "number"
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.30"
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26",
            "x-versiondeprecated": "v2.30"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "supportsAnomalyDetection": {
            "description": "Whether the model supports anomaly detection.",
            "type": "boolean"
          },
          "supportsBinaryClassification": {
            "description": "Whether the model supports binary classification.",
            "type": "boolean"
          },
          "supportsRegression": {
            "description": "Whether the model supports regression.",
            "type": "boolean"
          },
          "tags": {
            "description": "A list of the custom model tag.",
            "items": {
              "properties": {
                "id": {
                  "description": "The ID of the tag.",
                  "type": "string"
                },
                "name": {
                  "description": "The name of the tag.",
                  "type": "string"
                },
                "value": {
                  "description": "The value of the tag.",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "value"
              ],
              "type": "object",
              "x-versionadded": "v2.39"
            },
            "maxItems": 1000,
            "type": "array",
            "x-versionadded": "v2.39"
          },
          "targetName": {
            "description": "The name of the target for labeling predictions.",
            "type": "string"
          },
          "targetType": {
            "description": "The target type of custom model.",
            "enum": [
              "Binary",
              "Regression",
              "Multiclass",
              "Anomaly",
              "Transform",
              "TextGeneration",
              "GeoPoint",
              "Unstructured",
              "VectorDatabase",
              "AgenticWorkflow",
              "MCP"
            ],
            "type": "string"
          },
          "template": {
            "description": "If not null, the template used to create the custom model.",
            "properties": {
              "modelType": {
                "description": "The type of template the model was created from.",
                "enum": [
                  "nimModel",
                  "invalid"
                ],
                "type": "string",
                "x-versionadded": "v2.36"
              },
              "templateId": {
                "description": "The ID of the template used to create this custom model.",
                "type": "string",
                "x-versionadded": "v2.36"
              }
            },
            "required": [
              "modelType",
              "templateId"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "trainingDataAssignmentInProgress": {
            "description": "Indicates if training data is currently being assigned to the custom model.",
            "type": "boolean"
          },
          "trainingDataFileName": {
            "description": "The name of the file that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDataPartitionColumn": {
            "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDatasetId": {
            "description": "The ID of the dataset that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "trainingDatasetVersionId": {
            "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
            "type": [
              "string",
              "null"
            ]
          },
          "updated": {
            "description": "ISO-8601 timestamp of when model was last updated.",
            "type": "string"
          },
          "userProvidedId": {
            "description": "A user-provided unique ID associated with the given custom inference model.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "created",
          "createdBy",
          "deploymentsCount",
          "description",
          "id",
          "language",
          "latestVersion",
          "name",
          "supportsBinaryClassification",
          "supportsRegression",
          "targetType",
          "template",
          "updated"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [CustomModelResponse] | true | maxItems: 1000 | List of custom models. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## CustomModelPredictionExplanations

```
{
  "properties": {
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The ID of the custom model version.",
      "type": "string"
    },
    "environmentId": {
      "description": "The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used.",
      "type": "string"
    },
    "environmentVersionId": {
      "description": "The ID of environment version to use. Defaults to the latest successfully built version.",
      "type": "string"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| customModelId | string | true |  | The ID of the custom model. |
| customModelVersionId | string | true |  | The ID of the custom model version. |
| environmentId | string | false |  | The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used. |
| environmentVersionId | string | false |  | The ID of environment version to use. Defaults to the latest successfully built version. |

## CustomModelResourceLimits

```
{
  "properties": {
    "desiredCustomModelContainerSize": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelContainerSize": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelReplicasPerDeployment": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxCustomModelTestingParallelUsers": {
      "description": "The maximum number of parallel users that can be used for Custom Model Testing checks",
      "exclusiveMinimum": 0,
      "maximum": 20,
      "type": "integer"
    },
    "minCustomModelContainerSize": {
      "description": "The minimum memory that might be allocated by the custom-model.",
      "maximum": 134217728,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versionadded": "v2.37"
    }
  },
  "required": [
    "maxCustomModelTestingParallelUsers"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| desiredCustomModelContainerSize | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed |
| maxCustomModelContainerSize | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed |
| maxCustomModelReplicasPerDeployment | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| maxCustomModelTestingParallelUsers | integer | true | maximum: 20 | The maximum number of parallel users that can be used for Custom Model Testing checks |
| minCustomModelContainerSize | integer,null | false | maximum: 134217728minimum: 134217728 | The minimum memory that might be allocated by the custom-model. |

## CustomModelResponse

```
{
  "properties": {
    "calibratePredictions": {
      "description": "Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection.",
      "type": "boolean"
    },
    "classLabels": {
      "description": "If the model is a multiclass classifier, these are the model's class labels",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the custom model creator.",
      "type": "string"
    },
    "customModelType": {
      "description": "The type of custom model.",
      "enum": [
        "training",
        "inference"
      ],
      "type": "string"
    },
    "deploymentsCount": {
      "description": "The number of models deployed.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the model.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only                 for the custom model. Once enabled, this cannot be disabled.                 Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata]                 will be permanently disabled and return HTTP 422 for this particular model.                 Use training data assignment at the version level:                 [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions]                 [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions]                 ",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "The programming language used to write the model.",
      "type": "string"
    },
    "latestVersion": {
      "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
      "properties": {
        "baseEnvironmentId": {
          "description": "The base environment to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.22"
        },
        "baseEnvironmentVersionId": {
          "description": "The base environment version to use with this model version.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.25"
        },
        "created": {
          "description": "ISO-8601 timestamp of when the model was created.",
          "type": "string"
        },
        "customModelId": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "dependencies": {
          "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
          "items": {
            "properties": {
              "constraints": {
                "description": "Constraints that should be applied to the dependency when installed.",
                "items": {
                  "properties": {
                    "constraintType": {
                      "description": "The constraint type to apply to the version.",
                      "enum": [
                        "<",
                        "<=",
                        "==",
                        ">=",
                        ">"
                      ],
                      "type": "string"
                    },
                    "version": {
                      "description": "The version label to use in the constraint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "constraintType",
                    "version"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "extras": {
                "description": "The dependency's package extras.",
                "type": "string"
              },
              "line": {
                "description": "The original line from the requirements.txt file.",
                "type": "string"
              },
              "lineNumber": {
                "description": "The line number the requirement was on in requirements.txt.",
                "type": "integer"
              },
              "packageName": {
                "description": "The dependency's package name.",
                "type": "string"
              }
            },
            "required": [
              "constraints",
              "line",
              "lineNumber",
              "packageName"
            ],
            "type": "object"
          },
          "maxItems": 1000,
          "type": "array",
          "x-versionadded": "v2.22"
        },
        "description": {
          "description": "Description of a custom model version.",
          "type": [
            "string",
            "null"
          ]
        },
        "desiredMemory": {
          "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ],
          "x-versiondeprecated": "v2.24"
        },
        "gitModelVersion": {
          "description": "Contains git related attributes that are associated with a custom model version.",
          "properties": {
            "commitUrl": {
              "description": "A URL to the commit page in GitHub repository.",
              "format": "uri",
              "type": "string"
            },
            "mainBranchCommitSha": {
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": "string"
            },
            "pullRequestCommitSha": {
              "default": null,
              "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
              "maxLength": 40,
              "minLength": 40,
              "type": [
                "string",
                "null"
              ]
            },
            "refName": {
              "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
              "type": "string"
            }
          },
          "required": [
            "commitUrl",
            "mainBranchCommitSha",
            "pullRequestCommitSha",
            "refName"
          ],
          "type": "object"
        },
        "holdoutData": {
          "description": "Holdout data configuration.",
          "properties": {
            "datasetId": {
              "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
              "type": [
                "string",
                "null"
              ]
            },
            "partitionColumn": {
              "description": "The name of the column containing the partition assignments.",
              "maxLength": 500,
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "id": {
          "description": "the ID of the custom model version created.",
          "type": "string"
        },
        "isFrozen": {
          "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
          "type": "boolean",
          "x-versiondeprecated": "v2.34"
        },
        "items": {
          "description": "List of file items.",
          "items": {
            "properties": {
              "commitSha": {
                "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "created": {
                "description": "ISO-8601 timestamp of when the file item was created.",
                "type": "string"
              },
              "fileName": {
                "description": "The name of the file item.",
                "type": "string"
              },
              "filePath": {
                "description": "The path of the file item.",
                "type": "string"
              },
              "fileSource": {
                "description": "The source of the file item.",
                "type": "string"
              },
              "id": {
                "description": "ID of the file item.",
                "type": "string"
              },
              "ref": {
                "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryFilePath": {
                "description": "Full path to the file in the remote repository.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryLocation": {
                "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "repositoryName": {
                "description": "Name of the repository from which the file was pulled.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "storagePath": {
                "description": "Storage path of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              },
              "workspaceId": {
                "description": "The workspace ID of the file item.",
                "type": "string",
                "x-versiondeprecated": "2.25"
              }
            },
            "required": [
              "created",
              "fileName",
              "filePath",
              "fileSource",
              "id",
              "storagePath",
              "workspaceId"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array"
        },
        "label": {
          "description": "A semantic version number of the major and minor version.",
          "type": "string"
        },
        "maximumMemory": {
          "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
          "maximum": 15032385536,
          "minimum": 134217728,
          "type": [
            "integer",
            "null"
          ]
        },
        "networkEgressPolicy": {
          "description": "Network egress policy.",
          "enum": [
            "NONE",
            "PUBLIC"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "replicas": {
          "description": "A fixed number of replicas that will be set for the given custom-model.",
          "exclusiveMinimum": 0,
          "maximum": 25,
          "type": [
            "integer",
            "null"
          ]
        },
        "requiredMetadata": {
          "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
          "type": "object",
          "x-versionadded": "v2.25",
          "x-versiondeprecated": "v2.26"
        },
        "requiredMetadataValues": {
          "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
          "items": {
            "properties": {
              "fieldName": {
                "description": "The required field name. This value will be added as an environment variable when running custom models.",
                "type": "string"
              },
              "value": {
                "description": "The value for the given field.",
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "fieldName",
              "value"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "type": "array",
          "x-versionadded": "v2.26"
        },
        "requiresHa": {
          "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
          "type": [
            "boolean",
            "null"
          ],
          "x-versionadded": "v2.26"
        },
        "resourceBundleId": {
          "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.33"
        },
        "trainingData": {
          "description": "Training data configuration.",
          "properties": {
            "assignmentError": {
              "description": "Training data configuration.",
              "properties": {
                "message": {
                  "description": "Training data assignment error message",
                  "maxLength": 10000,
                  "type": [
                    "string",
                    "null"
                  ],
                  "x-versionadded": "v2.31"
                }
              },
              "type": "object"
            },
            "assignmentInProgress": {
              "default": false,
              "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
              "type": "boolean"
            },
            "datasetId": {
              "description": "The ID of the dataset.",
              "type": [
                "string",
                "null"
              ]
            },
            "datasetName": {
              "description": "A user-friendly name for the dataset.",
              "maxLength": 255,
              "type": [
                "string",
                "null"
              ]
            },
            "datasetVersionId": {
              "description": "The ID of the dataset version.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "versionMajor": {
          "description": "The major version number, incremented on deployments or larger file changes.",
          "type": "integer"
        },
        "versionMinor": {
          "description": "The minor version number, incremented on general file changes.",
          "type": "integer"
        }
      },
      "required": [
        "created",
        "customModelId",
        "description",
        "id",
        "isFrozen",
        "items",
        "label",
        "versionMajor",
        "versionMinor"
      ],
      "type": "object"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The name of the model.",
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "If the model is a binary classifier, this is the negative class label.",
      "type": "string"
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "playgroundId": {
      "description": "The ID of the GenAI Playground associated with the given custom inference model.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "positiveClassLabel": {
      "description": "If the model is a binary classifier, this is the positive class label.",
      "type": "string"
    },
    "predictionThreshold": {
      "description": "If the model is a binary classifier, this is the prediction threshold.",
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "supportsAnomalyDetection": {
      "description": "Whether the model supports anomaly detection.",
      "type": "boolean"
    },
    "supportsBinaryClassification": {
      "description": "Whether the model supports binary classification.",
      "type": "boolean"
    },
    "supportsRegression": {
      "description": "Whether the model supports regression.",
      "type": "boolean"
    },
    "tags": {
      "description": "A list of the custom model tag.",
      "items": {
        "properties": {
          "id": {
            "description": "The ID of the tag.",
            "type": "string"
          },
          "name": {
            "description": "The name of the tag.",
            "type": "string"
          },
          "value": {
            "description": "The value of the tag.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "value"
        ],
        "type": "object",
        "x-versionadded": "v2.39"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.39"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions.",
      "type": "string"
    },
    "targetType": {
      "description": "The target type of custom model.",
      "enum": [
        "Binary",
        "Regression",
        "Multiclass",
        "Anomaly",
        "Transform",
        "TextGeneration",
        "GeoPoint",
        "Unstructured",
        "VectorDatabase",
        "AgenticWorkflow",
        "MCP"
      ],
      "type": "string"
    },
    "template": {
      "description": "If not null, the template used to create the custom model.",
      "properties": {
        "modelType": {
          "description": "The type of template the model was created from.",
          "enum": [
            "nimModel",
            "invalid"
          ],
          "type": "string",
          "x-versionadded": "v2.36"
        },
        "templateId": {
          "description": "The ID of the template used to create this custom model.",
          "type": "string",
          "x-versionadded": "v2.36"
        }
      },
      "required": [
        "modelType",
        "templateId"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "trainingDataAssignmentInProgress": {
      "description": "Indicates if training data is currently being assigned to the custom model.",
      "type": "boolean"
    },
    "trainingDataFileName": {
      "description": "The name of the file that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDataPartitionColumn": {
      "description": "The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetId": {
      "description": "The ID of the dataset that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "trainingDatasetVersionId": {
      "description": "The ID of the dataset version that was used as training data if it was assigned previously.",
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "description": "ISO-8601 timestamp of when model was last updated.",
      "type": "string"
    },
    "userProvidedId": {
      "description": "A user-provided unique ID associated with the given custom inference model.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "created",
    "createdBy",
    "deploymentsCount",
    "description",
    "id",
    "language",
    "latestVersion",
    "name",
    "supportsBinaryClassification",
    "supportsRegression",
    "targetType",
    "template",
    "updated"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| calibratePredictions | boolean | false |  | Determines whether ot not predictions should be calibrated by DataRobot.Only applies to anomaly detection. |
| classLabels | [string] | false | maxItems: 100 | If the model is a multiclass classifier, these are the model's class labels |
| created | string | true |  | ISO-8601 timestamp of when the model was created. |
| createdBy | string | true |  | The username of the custom model creator. |
| customModelType | string | false |  | The type of custom model. |
| deploymentsCount | integer | true |  | The number of models deployed. |
| description | string | true |  | The description of the model. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| id | string | true |  | The ID of the custom model. |
| isTrainingDataForVersionsPermanentlyEnabled | boolean | false |  | Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Assigning training data on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled and return HTTP 422 for this particular model. Use training data assignment at the version level: [POST /api/v2/customModels/{customModelId}/versions/][post-apiv2custommodelscustommodelidversions] [PATCH /api/v2/customModels/{customModelId}/versions/][patch-apiv2custommodelscustommodelidversions] |
| language | string | true |  | The programming language used to write the model. |
| latestVersion | CustomModelVersionResponse | true |  | The latest version for the custom model (if this field is empty, the model is not ready for use). |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed |
| name | string | true |  | The name of the model. |
| negativeClassLabel | string | false |  | If the model is a binary classifier, this is the negative class label. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| playgroundId | string,null | false |  | The ID of the GenAI Playground associated with the given custom inference model. |
| positiveClassLabel | string | false |  | If the model is a binary classifier, this is the positive class label. |
| predictionThreshold | number | false |  | If the model is a binary classifier, this is the prediction threshold. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| supportsAnomalyDetection | boolean | false |  | Whether the model supports anomaly detection. |
| supportsBinaryClassification | boolean | true |  | Whether the model supports binary classification. |
| supportsRegression | boolean | true |  | Whether the model supports regression. |
| tags | [CustomModelTagRetrieveResponse] | false | maxItems: 1000 | A list of the custom model tag. |
| targetName | string | false |  | The name of the target for labeling predictions. |
| targetType | string | true |  | The target type of custom model. |
| template | Template | true |  | If not null, the template used to create the custom model. |
| trainingDataAssignmentInProgress | boolean | false |  | Indicates if training data is currently being assigned to the custom model. |
| trainingDataFileName | string,null | false |  | The name of the file that was used as training data if it was assigned previously. |
| trainingDataPartitionColumn | string,null | false |  | The name of the column containing the partition assignments in training data if it was assigned previously and partitioning was provided. |
| trainingDatasetId | string,null | false |  | The ID of the dataset that was used as training data if it was assigned previously. |
| trainingDatasetVersionId | string,null | false |  | The ID of the dataset version that was used as training data if it was assigned previously. |
| updated | string | true |  | ISO-8601 timestamp of when model was last updated. |
| userProvidedId | string | false | maxLength: 100 | A user-provided unique ID associated with the given custom inference model. |

### Enumerated Values

| Property | Value |
| --- | --- |
| customModelType | [training, inference] |
| networkEgressPolicy | [NONE, DR_API_ACCESS, PUBLIC] |
| targetType | [Binary, Regression, Multiclass, Anomaly, Transform, TextGeneration, GeoPoint, Unstructured, VectorDatabase, AgenticWorkflow, MCP] |

## CustomModelShortResponse

```
{
  "description": "Custom model associated with this deployment.",
  "properties": {
    "id": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "name": {
      "description": "User-friendly name of the model.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "type": "object"
}
```

Custom model associated with this deployment.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the custom model. |
| name | string | true |  | User-friendly name of the model. |

## CustomModelTagCreate

```
{
  "properties": {
    "name": {
      "description": "The name of the tag.",
      "maxLength": 50,
      "minLength": 1,
      "type": "string"
    },
    "value": {
      "description": "The value of the tag.",
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "name",
    "value"
  ],
  "type": "object",
  "x-versionadded": "v2.39"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| name | string | true | maxLength: 50minLength: 1minLength: 1 | The name of the tag. |
| value | string | true | maxLength: 256minLength: 1minLength: 1 | The value of the tag. |

## CustomModelTagRetrieveResponse

```
{
  "properties": {
    "id": {
      "description": "The ID of the tag.",
      "type": "string"
    },
    "name": {
      "description": "The name of the tag.",
      "type": "string"
    },
    "value": {
      "description": "The value of the tag.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "value"
  ],
  "type": "object",
  "x-versionadded": "v2.39"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the tag. |
| name | string | true |  | The name of the tag. |
| value | string | true |  | The value of the tag. |

## CustomModelTesting

```
{
  "description": "Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.",
  "properties": {
    "errorCheck": {
      "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
      "properties": {
        "message": {
          "description": "Test message.",
          "type": "string"
        },
        "status": {
          "description": "Test status.",
          "enum": [
            "not_tested",
            "queued",
            "failed",
            "canceled",
            "succeeded",
            "in_progress",
            "aborted",
            "warning",
            "skipped"
          ],
          "type": "string"
        }
      },
      "required": [
        "message",
        "status"
      ],
      "type": "object"
    },
    "longRunningService": {
      "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
      "properties": {
        "message": {
          "description": "Test message.",
          "type": "string"
        },
        "status": {
          "description": "Test status.",
          "enum": [
            "not_tested",
            "queued",
            "failed",
            "canceled",
            "succeeded",
            "in_progress",
            "aborted",
            "warning",
            "skipped"
          ],
          "type": "string"
        }
      },
      "required": [
        "message",
        "status"
      ],
      "type": "object"
    },
    "nullValueImputation": {
      "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
      "properties": {
        "message": {
          "description": "Test message.",
          "type": "string"
        },
        "status": {
          "description": "Test status.",
          "enum": [
            "not_tested",
            "queued",
            "failed",
            "canceled",
            "succeeded",
            "in_progress",
            "aborted",
            "warning",
            "skipped"
          ],
          "type": "string"
        }
      },
      "required": [
        "message",
        "status"
      ],
      "type": "object"
    },
    "sideEffects": {
      "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
      "properties": {
        "message": {
          "description": "Test message.",
          "type": "string"
        },
        "status": {
          "description": "Test status.",
          "enum": [
            "not_tested",
            "queued",
            "failed",
            "canceled",
            "succeeded",
            "in_progress",
            "aborted",
            "warning",
            "skipped"
          ],
          "type": "string"
        }
      },
      "required": [
        "message",
        "status"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| errorCheck | TestingStatus | false |  | Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted. |
| longRunningService | TestingStatus | false |  | Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted. |
| nullValueImputation | TestingStatus | false |  | Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted. |
| sideEffects | TestingStatus | false |  | Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted. |

## CustomModelTests

```
{
  "properties": {
    "configuration": {
      "description": "Key value map of Testing type and Testing type config.",
      "properties": {
        "errorCheck": {
          "default": "fail",
          "description": "Ensures that the model can make predictions on the provided test dataset.",
          "enum": [
            "fail",
            "skip"
          ],
          "type": "string"
        },
        "longRunningService": {
          "default": "fail",
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "enum": [
            "fail"
          ],
          "type": "string"
        },
        "nullValueImputation": {
          "default": "warn",
          "description": "Verifies that the model can impute null values. Required for Feature Impact.",
          "enum": [
            "skip",
            "warn",
            "fail"
          ],
          "type": "string"
        },
        "sideEffects": {
          "default": "warn",
          "description": "Verifies that predictions made on the dataset match row-wise predictions for the same dataset. Fails if the predictions do not match.",
          "enum": [
            "skip",
            "warn",
            "fail"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "customModelId": {
      "description": "The ID of the custom model to test.",
      "type": "string"
    },
    "customModelVersionId": {
      "description": "The ID of custom model version to use.",
      "type": "string"
    },
    "datasetId": {
      "description": "The ID of the dataset to use for testing. Dataset ID is required for regular (non-unstructured) custom models.",
      "type": "string"
    },
    "datasetVersionId": {
      "description": "The ID of the version of the dataset item to use as the testing dataset. Defaults to the latest version.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "environmentId": {
      "description": "The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "environmentVersionId": {
      "description": "The ID of environment version to use. Defaults to the latest successfully built version.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    }
  },
  "required": [
    "customModelId",
    "customModelVersionId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| configuration | CustomModelTestsConfig | false |  | Key value map of Testing type and Testing type config. |
| customModelId | string | true |  | The ID of the custom model to test. |
| customModelVersionId | string | true |  | The ID of custom model version to use. |
| datasetId | string | false |  | The ID of the dataset to use for testing. Dataset ID is required for regular (non-unstructured) custom models. |
| datasetVersionId | string | false |  | The ID of the version of the dataset item to use as the testing dataset. Defaults to the latest version. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| environmentId | string | false |  | The ID of environment to use. If not specified, the customModelVersion's dependency environment will be used. |
| environmentVersionId | string | false |  | The ID of environment version to use. Defaults to the latest successfully built version. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |

### Enumerated Values

| Property | Value |
| --- | --- |
| networkEgressPolicy | [NONE, PUBLIC] |

## CustomModelTestsConfig

```
{
  "description": "Key value map of Testing type and Testing type config.",
  "properties": {
    "errorCheck": {
      "default": "fail",
      "description": "Ensures that the model can make predictions on the provided test dataset.",
      "enum": [
        "fail",
        "skip"
      ],
      "type": "string"
    },
    "longRunningService": {
      "default": "fail",
      "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
      "enum": [
        "fail"
      ],
      "type": "string"
    },
    "nullValueImputation": {
      "default": "warn",
      "description": "Verifies that the model can impute null values. Required for Feature Impact.",
      "enum": [
        "skip",
        "warn",
        "fail"
      ],
      "type": "string"
    },
    "sideEffects": {
      "default": "warn",
      "description": "Verifies that predictions made on the dataset match row-wise predictions for the same dataset. Fails if the predictions do not match.",
      "enum": [
        "skip",
        "warn",
        "fail"
      ],
      "type": "string"
    }
  },
  "type": "object"
}
```

Key value map of Testing type and Testing type config.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| errorCheck | string | false |  | Ensures that the model can make predictions on the provided test dataset. |
| longRunningService | string | false |  | Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted. |
| nullValueImputation | string | false |  | Verifies that the model can impute null values. Required for Feature Impact. |
| sideEffects | string | false |  | Verifies that predictions made on the dataset match row-wise predictions for the same dataset. Fails if the predictions do not match. |

### Enumerated Values

| Property | Value |
| --- | --- |
| errorCheck | [fail, skip] |
| longRunningService | fail |
| nullValueImputation | [skip, warn, fail] |
| sideEffects | [skip, warn, fail] |

## CustomModelTestsListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model tests.",
      "items": {
        "properties": {
          "completedAt": {
            "description": "ISO-8601 timestamp of when the testing attempt was completed.",
            "type": "string"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the testing entry was created.",
            "type": "string"
          },
          "createdBy": {
            "description": "The username of the user that started the custom model test.",
            "type": "string"
          },
          "customModel": {
            "description": "Custom model associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the custom model.",
                "type": "string"
              },
              "name": {
                "description": "User-friendly name of the model.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "customModelImageId": {
            "description": "If testing was successful, ID of the custom inference model image that can be used for a deployment, otherwise null.",
            "type": [
              "string",
              "null"
            ]
          },
          "customModelVersion": {
            "description": "Custom model version associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the custom model version.",
                "type": "string"
              },
              "label": {
                "description": "User-friendly name of the model version.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "datasetId": {
            "description": "ID of the dataset used for testing.",
            "type": "string"
          },
          "datasetVersionId": {
            "description": "ID of the specific dataset version used for testing.",
            "type": "string"
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "executionEnvironment": {
            "description": "Execution environment associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the execution environment.",
                "type": "string"
              },
              "name": {
                "description": "User-friendly name of the execution environment.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "executionEnvironmentVersion": {
            "description": "Execution environment version associated with this deployment.",
            "properties": {
              "id": {
                "description": "The ID of the execution environment version.",
                "type": "string"
              },
              "label": {
                "description": "User-friendly name of the execution environment version.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "id": {
            "description": "ID of the testing history entry.",
            "type": "string"
          },
          "imageType": {
            "description": "The type of the image, either customModelImage if the testing attempt is using a customModelImage as its model or customModelVersion if the testing attempt is using a customModelVersion with dependency management.",
            "enum": [
              "customModelImage",
              "customModelVersion"
            ],
            "type": "string"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ]
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "overallStatus": {
            "description": "The overall status of the testing history entry.",
            "enum": [
              "not_tested",
              "queued",
              "failed",
              "canceled",
              "succeeded",
              "in_progress",
              "aborted",
              "warning",
              "skipped"
            ],
            "type": "string"
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ]
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "testingStatus": {
            "description": "Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.",
            "properties": {
              "errorCheck": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "longRunningService": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "nullValueImputation": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              },
              "sideEffects": {
                "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
                "properties": {
                  "message": {
                    "description": "Test message.",
                    "type": "string"
                  },
                  "status": {
                    "description": "Test status.",
                    "enum": [
                      "not_tested",
                      "queued",
                      "failed",
                      "canceled",
                      "succeeded",
                      "in_progress",
                      "aborted",
                      "warning",
                      "skipped"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "status"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "completedAt",
          "created",
          "createdBy",
          "customModel",
          "customModelImageId",
          "customModelVersion",
          "datasetId",
          "datasetVersionId",
          "executionEnvironment",
          "executionEnvironmentVersion",
          "id",
          "overallStatus",
          "testingStatus"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [CustomModelTestsResponse] | true | maxItems: 1000 | List of custom model tests. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## CustomModelTestsLogTailResponse

```
{
  "properties": {
    "log": {
      "description": "The N lines of the log.",
      "type": "string"
    }
  },
  "required": [
    "log"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| log | string | true |  | The N lines of the log. |

## CustomModelTestsResponse

```
{
  "properties": {
    "completedAt": {
      "description": "ISO-8601 timestamp of when the testing attempt was completed.",
      "type": "string"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the testing entry was created.",
      "type": "string"
    },
    "createdBy": {
      "description": "The username of the user that started the custom model test.",
      "type": "string"
    },
    "customModel": {
      "description": "Custom model associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the custom model.",
          "type": "string"
        },
        "name": {
          "description": "User-friendly name of the model.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "type": "object"
    },
    "customModelImageId": {
      "description": "If testing was successful, ID of the custom inference model image that can be used for a deployment, otherwise null.",
      "type": [
        "string",
        "null"
      ]
    },
    "customModelVersion": {
      "description": "Custom model version associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the custom model version.",
          "type": "string"
        },
        "label": {
          "description": "User-friendly name of the model version.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "label"
      ],
      "type": "object"
    },
    "datasetId": {
      "description": "ID of the dataset used for testing.",
      "type": "string"
    },
    "datasetVersionId": {
      "description": "ID of the specific dataset version used for testing.",
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "executionEnvironment": {
      "description": "Execution environment associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the execution environment.",
          "type": "string"
        },
        "name": {
          "description": "User-friendly name of the execution environment.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "type": "object"
    },
    "executionEnvironmentVersion": {
      "description": "Execution environment version associated with this deployment.",
      "properties": {
        "id": {
          "description": "The ID of the execution environment version.",
          "type": "string"
        },
        "label": {
          "description": "User-friendly name of the execution environment version.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "label"
      ],
      "type": "object"
    },
    "id": {
      "description": "ID of the testing history entry.",
      "type": "string"
    },
    "imageType": {
      "description": "The type of the image, either customModelImage if the testing attempt is using a customModelImage as its model or customModelVersion if the testing attempt is using a customModelVersion with dependency management.",
      "enum": [
        "customModelImage",
        "customModelVersion"
      ],
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "overallStatus": {
      "description": "The overall status of the testing history entry.",
      "enum": [
        "not_tested",
        "queued",
        "failed",
        "canceled",
        "succeeded",
        "in_progress",
        "aborted",
        "warning",
        "skipped"
      ],
      "type": "string"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "testingStatus": {
      "description": "Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test.",
      "properties": {
        "errorCheck": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "longRunningService": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "nullValueImputation": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        },
        "sideEffects": {
          "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
          "properties": {
            "message": {
              "description": "Test message.",
              "type": "string"
            },
            "status": {
              "description": "Test status.",
              "enum": [
                "not_tested",
                "queued",
                "failed",
                "canceled",
                "succeeded",
                "in_progress",
                "aborted",
                "warning",
                "skipped"
              ],
              "type": "string"
            }
          },
          "required": [
            "message",
            "status"
          ],
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "completedAt",
    "created",
    "createdBy",
    "customModel",
    "customModelImageId",
    "customModelVersion",
    "datasetId",
    "datasetVersionId",
    "executionEnvironment",
    "executionEnvironmentVersion",
    "id",
    "overallStatus",
    "testingStatus"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| completedAt | string | true |  | ISO-8601 timestamp of when the testing attempt was completed. |
| created | string | true |  | ISO-8601 timestamp of when the testing entry was created. |
| createdBy | string | true |  | The username of the user that started the custom model test. |
| customModel | CustomModelShortResponse | true |  | Custom model associated with this deployment. |
| customModelImageId | string,null | true |  | If testing was successful, ID of the custom inference model image that can be used for a deployment, otherwise null. |
| customModelVersion | CustomModelVersionShortResponse | true |  | Custom model version associated with this deployment. |
| datasetId | string | true |  | ID of the dataset used for testing. |
| datasetVersionId | string | true |  | ID of the specific dataset version used for testing. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| executionEnvironment | ExecutionEnvironmentShortResponse | true |  | Execution environment associated with this deployment. |
| executionEnvironmentVersion | ExecutionEnvironmentVersionShortResponse | true |  | Execution environment version associated with this deployment. |
| id | string | true |  | ID of the testing history entry. |
| imageType | string | false |  | The type of the image, either customModelImage if the testing attempt is using a customModelImage as its model or customModelVersion if the testing attempt is using a customModelVersion with dependency management. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| overallStatus | string | true |  | The overall status of the testing history entry. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| testingStatus | CustomModelTesting | true |  | Maps the testing types to their status and message for the testing entry. Testing type represents a single check executed during the test. |

### Enumerated Values

| Property | Value |
| --- | --- |
| imageType | [customModelImage, customModelVersion] |
| networkEgressPolicy | [NONE, PUBLIC] |
| overallStatus | [not_tested, queued, failed, canceled, succeeded, in_progress, aborted, warning, skipped] |

## CustomModelUpdate

```
{
  "properties": {
    "classLabels": {
      "description": "The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "type": "array"
    },
    "description": {
      "description": "The user-friendly description of the model.",
      "maxLength": 10000,
      "type": "string"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "isTrainingDataForVersionsPermanentlyEnabled": {
      "description": "Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "language": {
      "description": "Programming language name in which model is written.",
      "maxLength": 500,
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "name": {
      "description": "The user-friendly name for the model.",
      "maxLength": 255,
      "type": "string"
    },
    "negativeClassLabel": {
      "description": "The negative class label for custom models that support binary classification. If specified, `positiveClassLabel` must also be specified. Default value is \"0\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "DR_API_ACCESS",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "positiveClassLabel": {
      "description": "The positive class label for custom models that support binary classification. If specified, `negativeClassLabel` must also be specified. Default value is \"1\".",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    },
    "predictionThreshold": {
      "default": 0.5,
      "description": "The prediction threshold which will be used for binary classification custom model.",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.30"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26",
      "x-versiondeprecated": "v2.30"
    },
    "targetName": {
      "description": "The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| classLabels | [string] | false | maxItems: 100 | The class labels for multiclass classification. Required for multiclass inference models. If using one of the [DataRobot] base environments and your model produces an ndarray of unlabeled class probabilities, the order of the labels should match the order of the predicted output |
| description | string | false | maxLength: 10000 | The user-friendly description of the model. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| isTrainingDataForVersionsPermanentlyEnabled | boolean | false |  | Indicates that training data assignment is now permanently at the version level only for the custom model. Once enabled, this cannot be disabled. Training data assignment on the model level [PATCH /api/v2/customModels/{customModelId}/trainingData/][patch-apiv2custommodelscustommodelidtrainingdata] will be permanently disabled for this particular model. |
| language | string | false | maxLength: 500 | Programming language name in which model is written. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed |
| name | string | false | maxLength: 255 | The user-friendly name for the model. |
| negativeClassLabel | string,null | false | maxLength: 500 | The negative class label for custom models that support binary classification. If specified, positiveClassLabel must also be specified. Default value is "0". |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| positiveClassLabel | string,null | false | maxLength: 500 | The positive class label for custom models that support binary classification. If specified, negativeClassLabel must also be specified. Default value is "1". |
| predictionThreshold | number | false | maximum: 1minimum: 0 | The prediction threshold which will be used for binary classification custom model. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| targetName | string,null | false | maxLength: 500 | The name of the target for labeling predictions. Required for model type 'inference'. Specifying this value for a model type 'training' will result in an error. |

### Enumerated Values

| Property | Value |
| --- | --- |
| networkEgressPolicy | [NONE, DR_API_ACCESS, PUBLIC] |

## CustomModelVersionCreate

```
{
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version. At least one of \"baseEnvironmentId\" and \"baseEnvironmentVersionId\" must be provided. If both are specified, the version must belong to the environment.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version ID to use with this model version. At least one of \"baseEnvironmentId\" and \"baseEnvironmentVersionId\" must be provided. If both are specified, the version must belong to the environment. If not specified: in the case where the previous model versions exist, the value from the latest model version is inherited, otherwise, the latest successfully built version of the environment specified in \"baseEnvironmentId\" is used.",
      "type": "string",
      "x-versionadded": "v2.29"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "file": {
      "description": "A file with code for a custom task or a custom model. For each file supplied as form data, you must have a corresponding `filePath` supplied that shows the relative location of the file. For example, you have two files: `/home/username/custom-task/main.py` and `/home/username/custom-task/helpers/helper.py`. When uploading these files, you would _also_ need to include two `filePath` fields of, `\"main.py\"` and `\"helpers/helper.py\"`. If the supplied `file` already exists at the supplied `filePath`, the old file is replaced by the new file.",
      "format": "binary",
      "type": "string"
    },
    "filePath": {
      "description": "The local path of the file being uploaded. See the `file` field explanation for more details.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 1000,
          "type": "array"
        }
      ]
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration may be supplied for version.                 This functionality has to be explicitly enabled for the current model.                 See isTrainingDataForVersionsPermanentlyEnabled parameter for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 and                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 ",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "2.31"
    },
    "isMajorUpdate": {
      "default": "true",
      "description": "If set to true, new major version will created, otherwise minor version will be created.",
      "enum": [
        "false",
        "False",
        "true",
        "True"
      ],
      "type": "string"
    },
    "keepTrainingHoldoutData": {
      "default": true,
      "description": "If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "string",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. Field names and values are exposed as environment variables with values when running the custom model. Example: \"required_metadata_values\": [{\"field_name\": \"hi\", \"value\": \"there\"}],",
      "type": "string",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration may be supplied for version.                 This functionality has to be explicitly enabled for the current model.                 See isTrainingDataForVersionsPermanentlyEnabled parameter for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 and                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 ",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "2.31"
    }
  },
  "required": [
    "isMajorUpdate"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| baseEnvironmentId | string | false |  | The base environment to use with this model version. At least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If both are specified, the version must belong to the environment. |
| baseEnvironmentVersionId | string | false |  | The base environment version ID to use with this model version. At least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If both are specified, the version must belong to the environment. If not specified: in the case where the previous model versions exist, the value from the latest model version is inherited, otherwise, the latest successfully built version of the environment specified in "baseEnvironmentId" is used. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| file | string(binary) | false |  | A file with code for a custom task or a custom model. For each file supplied as form data, you must have a corresponding filePath supplied that shows the relative location of the file. For example, you have two files: /home/username/custom-task/main.py and /home/username/custom-task/helpers/helper.py. When uploading these files, you would also need to include two filePath fields of, "main.py" and "helpers/helper.py". If the supplied file already exists at the supplied filePath, the old file is replaced by the new file. |
| filePath | any | false |  | The local path of the file being uploaded. See the file field explanation for more details. |

oneOf

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | string | false |  | none |

xor

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | [string] | false | maxItems: 1000 | none |

continued

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| holdoutData | string,null | false |  | Holdout data configuration may be supplied for version. This functionality has to be explicitly enabled for the current model. See isTrainingDataForVersionsPermanentlyEnabled parameter for [POST /api/v2/customModels/][post-apiv2custommodels] and [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] |
| isMajorUpdate | string | true |  | If set to true, new major version will created, otherwise minor version will be created. |
| keepTrainingHoldoutData | boolean | false |  | If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiredMetadata | string | false |  | Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version. |
| requiredMetadataValues | string | false |  | Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. Field names and values are exposed as environment variables with values when running the custom model. Example: "required_metadata_values": [{"field_name": "hi", "value": "there"}], |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| trainingData | string,null | false |  | Training data configuration may be supplied for version. This functionality has to be explicitly enabled for the current model. See isTrainingDataForVersionsPermanentlyEnabled parameter for [POST /api/v2/customModels/][post-apiv2custommodels] and [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] |

### Enumerated Values

| Property | Value |
| --- | --- |
| isMajorUpdate | [false, False, true, True] |
| networkEgressPolicy | [NONE, PUBLIC] |

## CustomModelVersionCreateFromLatest

```
{
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version. At least one of \"baseEnvironmentId\" and \"baseEnvironmentVersionId\" must be provided. If both are specified, the version must belong to the environment.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version ID to use with this model version. At least one of \"baseEnvironmentId\" and \"baseEnvironmentVersionId\" must be provided. If both are specified, the version must belong to the environment. If not specified: in the case where the previous model versions exist, the value from the latest model version is inherited, otherwise, the latest successfully built version of the environment specified in \"baseEnvironmentId\" is used.",
      "type": "string",
      "x-versionadded": "v2.29"
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "file": {
      "description": "A file with code for a custom task or a custom model. For each file supplied as form data, you must have a corresponding `filePath` supplied that shows the relative location of the file. For example, you have two files: `/home/username/custom-task/main.py` and `/home/username/custom-task/helpers/helper.py`. When uploading these files, you would _also_ need to include two `filePath` fields of, `\"main.py\"` and `\"helpers/helper.py\"`. If the supplied `file` already exists at the supplied `filePath`, the old file is replaced by the new file.",
      "format": "binary",
      "type": "string"
    },
    "filePath": {
      "description": "The local path of the file being uploaded. See the `file` field explanation for more details.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 1000,
          "type": "array"
        }
      ]
    },
    "filesToDelete": {
      "description": "The IDs of the files to be deleted.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "type": "array"
        }
      ]
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration may be supplied for version.                 This functionality has to be explicitly enabled for the current model.                 See isTrainingDataForVersionsPermanentlyEnabled parameter for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 and                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 ",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "2.31"
    },
    "isMajorUpdate": {
      "default": "true",
      "description": "If set to true, new major version will created, otherwise minor version will be created.",
      "enum": [
        "false",
        "False",
        "true",
        "True"
      ],
      "type": "string"
    },
    "keepTrainingHoldoutData": {
      "default": true,
      "description": "If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "string",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. Field names and values are exposed as environment variables with values when running the custom model. Example: \"required_metadata_values\": [{\"field_name\": \"hi\", \"value\": \"there\"}],",
      "type": "string",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration may be supplied for version.                 This functionality has to be explicitly enabled for the current model.                 See isTrainingDataForVersionsPermanentlyEnabled parameter for                 [POST /api/v2/customModels/][post-apiv2custommodels]                 and                 [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid]                 ",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "2.31"
    }
  },
  "required": [
    "isMajorUpdate"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| baseEnvironmentId | string | false |  | The base environment to use with this model version. At least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If both are specified, the version must belong to the environment. |
| baseEnvironmentVersionId | string | false |  | The base environment version ID to use with this model version. At least one of "baseEnvironmentId" and "baseEnvironmentVersionId" must be provided. If both are specified, the version must belong to the environment. If not specified: in the case where the previous model versions exist, the value from the latest model version is inherited, otherwise, the latest successfully built version of the environment specified in "baseEnvironmentId" is used. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| file | string(binary) | false |  | A file with code for a custom task or a custom model. For each file supplied as form data, you must have a corresponding filePath supplied that shows the relative location of the file. For example, you have two files: /home/username/custom-task/main.py and /home/username/custom-task/helpers/helper.py. When uploading these files, you would also need to include two filePath fields of, "main.py" and "helpers/helper.py". If the supplied file already exists at the supplied filePath, the old file is replaced by the new file. |
| filePath | any | false |  | The local path of the file being uploaded. See the file field explanation for more details. |

oneOf

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | string | false |  | none |

xor

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | [string] | false | maxItems: 1000 | none |

continued

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| filesToDelete | any | false |  | The IDs of the files to be deleted. |

oneOf

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | string | false |  | none |

xor

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | [string] | false | maxItems: 100 | none |

continued

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| holdoutData | string,null | false |  | Holdout data configuration may be supplied for version. This functionality has to be explicitly enabled for the current model. See isTrainingDataForVersionsPermanentlyEnabled parameter for [POST /api/v2/customModels/][post-apiv2custommodels] and [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] |
| isMajorUpdate | string | true |  | If set to true, new major version will created, otherwise minor version will be created. |
| keepTrainingHoldoutData | boolean | false |  | If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiredMetadata | string | false |  | Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version. |
| requiredMetadataValues | string | false |  | Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. Field names and values are exposed as environment variables with values when running the custom model. Example: "required_metadata_values": [{"field_name": "hi", "value": "there"}], |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| trainingData | string,null | false |  | Training data configuration may be supplied for version. This functionality has to be explicitly enabled for the current model. See isTrainingDataForVersionsPermanentlyEnabled parameter for [POST /api/v2/customModels/][post-apiv2custommodels] and [PATCH /api/v2/customModels/{customModelId}/][patch-apiv2custommodelscustommodelid] |

### Enumerated Values

| Property | Value |
| --- | --- |
| isMajorUpdate | [false, False, true, True] |
| networkEgressPolicy | [NONE, PUBLIC] |

## CustomModelVersionCreateFromRepository

```
{
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this version.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "isMajorUpdate": {
      "default": true,
      "description": "If set to true, new major version will created, otherwise minor version will be created.",
      "type": "boolean"
    },
    "keepTrainingHoldoutData": {
      "default": true,
      "description": "If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored.",
      "type": "boolean",
      "x-versionadded": "v2.30"
    },
    "ref": {
      "description": "Remote reference (branch, commit, etc). Latest, if not specified.",
      "type": "string"
    },
    "repositoryId": {
      "description": "The ID of remote repository used to pull sources. This ID can be found using the /api/v2/remoteRepositories/ endpoint.",
      "type": "string"
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "sourcePath": {
      "description": "A remote repository file path to be pulled into a custom model or custom task.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "type": "array"
        }
      ]
    }
  },
  "required": [
    "repositoryId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| baseEnvironmentId | string | false |  | The base environment to use with this version. |
| isMajorUpdate | boolean | false |  | If set to true, new major version will created, otherwise minor version will be created. |
| keepTrainingHoldoutData | boolean | false |  | If the version should inherit training and holdout data from the previous version. Defaults to true.This field is only applicable if the model has training data for versions enabled. Otherwise the field value will be ignored. |
| ref | string | false |  | Remote reference (branch, commit, etc). Latest, if not specified. |
| repositoryId | string | true |  | The ID of remote repository used to pull sources. This ID can be found using the /api/v2/remoteRepositories/ endpoint. |
| requiredMetadata | object | false |  | Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version. |
| requiredMetadataValues | [RequiredMetadataValue] | false | maxItems: 100 | Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. |
| sourcePath | any | false |  | A remote repository file path to be pulled into a custom model or custom task. |

oneOf

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | string | false |  | none |

xor

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| » anonymous | [string] | false | maxItems: 100 | none |

## CustomModelVersionFromCodespace

```
{
  "properties": {
    "codespaceId": {
      "description": "The ID of the codespace that is the source for the custom model version files.",
      "type": "string"
    }
  },
  "required": [
    "codespaceId"
  ],
  "type": "object",
  "x-versionadded": "v2.37"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| codespaceId | string | true |  | The ID of the codespace that is the source for the custom model version files. |

## CustomModelVersionListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of custom model versions.",
      "items": {
        "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
        "properties": {
          "baseEnvironmentId": {
            "description": "The base environment to use with this model version.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.22"
          },
          "baseEnvironmentVersionId": {
            "description": "The base environment version to use with this model version.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.25"
          },
          "created": {
            "description": "ISO-8601 timestamp of when the model was created.",
            "type": "string"
          },
          "customModelId": {
            "description": "The ID of the custom model.",
            "type": "string"
          },
          "dependencies": {
            "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
            "items": {
              "properties": {
                "constraints": {
                  "description": "Constraints that should be applied to the dependency when installed.",
                  "items": {
                    "properties": {
                      "constraintType": {
                        "description": "The constraint type to apply to the version.",
                        "enum": [
                          "<",
                          "<=",
                          "==",
                          ">=",
                          ">"
                        ],
                        "type": "string"
                      },
                      "version": {
                        "description": "The version label to use in the constraint.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "constraintType",
                      "version"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "extras": {
                  "description": "The dependency's package extras.",
                  "type": "string"
                },
                "line": {
                  "description": "The original line from the requirements.txt file.",
                  "type": "string"
                },
                "lineNumber": {
                  "description": "The line number the requirement was on in requirements.txt.",
                  "type": "integer"
                },
                "packageName": {
                  "description": "The dependency's package name.",
                  "type": "string"
                }
              },
              "required": [
                "constraints",
                "line",
                "lineNumber",
                "packageName"
              ],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array",
            "x-versionadded": "v2.22"
          },
          "description": {
            "description": "Description of a custom model version.",
            "type": [
              "string",
              "null"
            ]
          },
          "desiredMemory": {
            "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ],
            "x-versiondeprecated": "v2.24"
          },
          "gitModelVersion": {
            "description": "Contains git related attributes that are associated with a custom model version.",
            "properties": {
              "commitUrl": {
                "description": "A URL to the commit page in GitHub repository.",
                "format": "uri",
                "type": "string"
              },
              "mainBranchCommitSha": {
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": "string"
              },
              "pullRequestCommitSha": {
                "default": null,
                "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
                "maxLength": 40,
                "minLength": 40,
                "type": [
                  "string",
                  "null"
                ]
              },
              "refName": {
                "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
                "type": "string"
              }
            },
            "required": [
              "commitUrl",
              "mainBranchCommitSha",
              "pullRequestCommitSha",
              "refName"
            ],
            "type": "object"
          },
          "holdoutData": {
            "description": "Holdout data configuration.",
            "properties": {
              "datasetId": {
                "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetName": {
                "description": "A user-friendly name for the dataset.",
                "maxLength": 255,
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetVersionId": {
                "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
                "type": [
                  "string",
                  "null"
                ]
              },
              "partitionColumn": {
                "description": "The name of the column containing the partition assignments.",
                "maxLength": 500,
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "id": {
            "description": "the ID of the custom model version created.",
            "type": "string"
          },
          "isFrozen": {
            "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
            "type": "boolean",
            "x-versiondeprecated": "v2.34"
          },
          "items": {
            "description": "List of file items.",
            "items": {
              "properties": {
                "commitSha": {
                  "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created": {
                  "description": "ISO-8601 timestamp of when the file item was created.",
                  "type": "string"
                },
                "fileName": {
                  "description": "The name of the file item.",
                  "type": "string"
                },
                "filePath": {
                  "description": "The path of the file item.",
                  "type": "string"
                },
                "fileSource": {
                  "description": "The source of the file item.",
                  "type": "string"
                },
                "id": {
                  "description": "ID of the file item.",
                  "type": "string"
                },
                "ref": {
                  "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryFilePath": {
                  "description": "Full path to the file in the remote repository.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryLocation": {
                  "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repositoryName": {
                  "description": "Name of the repository from which the file was pulled.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "storagePath": {
                  "description": "Storage path of the file item.",
                  "type": "string",
                  "x-versiondeprecated": "2.25"
                },
                "workspaceId": {
                  "description": "The workspace ID of the file item.",
                  "type": "string",
                  "x-versiondeprecated": "2.25"
                }
              },
              "required": [
                "created",
                "fileName",
                "filePath",
                "fileSource",
                "id",
                "storagePath",
                "workspaceId"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "label": {
            "description": "A semantic version number of the major and minor version.",
            "type": "string"
          },
          "maximumMemory": {
            "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
            "maximum": 15032385536,
            "minimum": 134217728,
            "type": [
              "integer",
              "null"
            ]
          },
          "networkEgressPolicy": {
            "description": "Network egress policy.",
            "enum": [
              "NONE",
              "PUBLIC"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "replicas": {
            "description": "A fixed number of replicas that will be set for the given custom-model.",
            "exclusiveMinimum": 0,
            "maximum": 25,
            "type": [
              "integer",
              "null"
            ]
          },
          "requiredMetadata": {
            "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
            "type": "object",
            "x-versionadded": "v2.25",
            "x-versiondeprecated": "v2.26"
          },
          "requiredMetadataValues": {
            "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
            "items": {
              "properties": {
                "fieldName": {
                  "description": "The required field name. This value will be added as an environment variable when running custom models.",
                  "type": "string"
                },
                "value": {
                  "description": "The value for the given field.",
                  "maxLength": 100,
                  "type": "string"
                }
              },
              "required": [
                "fieldName",
                "value"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array",
            "x-versionadded": "v2.26"
          },
          "requiresHa": {
            "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
            "type": [
              "boolean",
              "null"
            ],
            "x-versionadded": "v2.26"
          },
          "resourceBundleId": {
            "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.33"
          },
          "trainingData": {
            "description": "Training data configuration.",
            "properties": {
              "assignmentError": {
                "description": "Training data configuration.",
                "properties": {
                  "message": {
                    "description": "Training data assignment error message",
                    "maxLength": 10000,
                    "type": [
                      "string",
                      "null"
                    ],
                    "x-versionadded": "v2.31"
                  }
                },
                "type": "object"
              },
              "assignmentInProgress": {
                "default": false,
                "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
                "type": "boolean"
              },
              "datasetId": {
                "description": "The ID of the dataset.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetName": {
                "description": "A user-friendly name for the dataset.",
                "maxLength": 255,
                "type": [
                  "string",
                  "null"
                ]
              },
              "datasetVersionId": {
                "description": "The ID of the dataset version.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "versionMajor": {
            "description": "The major version number, incremented on deployments or larger file changes.",
            "type": "integer"
          },
          "versionMinor": {
            "description": "The minor version number, incremented on general file changes.",
            "type": "integer"
          }
        },
        "required": [
          "created",
          "customModelId",
          "description",
          "id",
          "isFrozen",
          "items",
          "label",
          "versionMajor",
          "versionMinor"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [CustomModelVersionResponse] | true | maxItems: 1000 | List of custom model versions. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## CustomModelVersionMetadataUpdate

```
{
  "properties": {
    "description": {
      "description": "New description for the custom task or model.",
      "maxLength": 10000,
      "type": "string"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    }
  },
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| description | string | false | maxLength: 10000 | New description for the custom task or model. |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| requiredMetadata | object | false |  | Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. |
| requiredMetadataValues | [RequiredMetadataValue] | false | maxItems: 100 | Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. |

## CustomModelVersionResponse

```
{
  "description": "The latest version for the custom model (if this field is empty, the model is not ready for use).",
  "properties": {
    "baseEnvironmentId": {
      "description": "The base environment to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.22"
    },
    "baseEnvironmentVersionId": {
      "description": "The base environment version to use with this model version.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.25"
    },
    "created": {
      "description": "ISO-8601 timestamp of when the model was created.",
      "type": "string"
    },
    "customModelId": {
      "description": "The ID of the custom model.",
      "type": "string"
    },
    "dependencies": {
      "description": "The parsed dependencies of the custom model version if the version has a valid requirements.txt file.",
      "items": {
        "properties": {
          "constraints": {
            "description": "Constraints that should be applied to the dependency when installed.",
            "items": {
              "properties": {
                "constraintType": {
                  "description": "The constraint type to apply to the version.",
                  "enum": [
                    "<",
                    "<=",
                    "==",
                    ">=",
                    ">"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "The version label to use in the constraint.",
                  "type": "string"
                }
              },
              "required": [
                "constraintType",
                "version"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "type": "array"
          },
          "extras": {
            "description": "The dependency's package extras.",
            "type": "string"
          },
          "line": {
            "description": "The original line from the requirements.txt file.",
            "type": "string"
          },
          "lineNumber": {
            "description": "The line number the requirement was on in requirements.txt.",
            "type": "integer"
          },
          "packageName": {
            "description": "The dependency's package name.",
            "type": "string"
          }
        },
        "required": [
          "constraints",
          "line",
          "lineNumber",
          "packageName"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array",
      "x-versionadded": "v2.22"
    },
    "description": {
      "description": "Description of a custom model version.",
      "type": [
        "string",
        "null"
      ]
    },
    "desiredMemory": {
      "description": "The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ],
      "x-versiondeprecated": "v2.24"
    },
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
          "type": [
            "string",
            "null"
          ]
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "id": {
      "description": "the ID of the custom model version created.",
      "type": "string"
    },
    "isFrozen": {
      "description": "If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded).",
      "type": "boolean",
      "x-versiondeprecated": "v2.34"
    },
    "items": {
      "description": "List of file items.",
      "items": {
        "properties": {
          "commitSha": {
            "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "ISO-8601 timestamp of when the file item was created.",
            "type": "string"
          },
          "fileName": {
            "description": "The name of the file item.",
            "type": "string"
          },
          "filePath": {
            "description": "The path of the file item.",
            "type": "string"
          },
          "fileSource": {
            "description": "The source of the file item.",
            "type": "string"
          },
          "id": {
            "description": "ID of the file item.",
            "type": "string"
          },
          "ref": {
            "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryFilePath": {
            "description": "Full path to the file in the remote repository.",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryLocation": {
            "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
            "type": [
              "string",
              "null"
            ]
          },
          "repositoryName": {
            "description": "Name of the repository from which the file was pulled.",
            "type": [
              "string",
              "null"
            ]
          },
          "storagePath": {
            "description": "Storage path of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          },
          "workspaceId": {
            "description": "The workspace ID of the file item.",
            "type": "string",
            "x-versiondeprecated": "2.25"
          }
        },
        "required": [
          "created",
          "fileName",
          "filePath",
          "fileSource",
          "id",
          "storagePath",
          "workspaceId"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "label": {
      "description": "A semantic version number of the major and minor version.",
      "type": "string"
    },
    "maximumMemory": {
      "description": "The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId.",
      "maximum": 15032385536,
      "minimum": 134217728,
      "type": [
        "integer",
        "null"
      ]
    },
    "networkEgressPolicy": {
      "description": "Network egress policy.",
      "enum": [
        "NONE",
        "PUBLIC"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "replicas": {
      "description": "A fixed number of replicas that will be set for the given custom-model.",
      "exclusiveMinimum": 0,
      "maximum": 25,
      "type": [
        "integer",
        "null"
      ]
    },
    "requiredMetadata": {
      "description": "Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version.",
      "type": "object",
      "x-versionadded": "v2.25",
      "x-versiondeprecated": "v2.26"
    },
    "requiredMetadataValues": {
      "description": "Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys.",
      "items": {
        "properties": {
          "fieldName": {
            "description": "The required field name. This value will be added as an environment variable when running custom models.",
            "type": "string"
          },
          "value": {
            "description": "The value for the given field.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "fieldName",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.26"
    },
    "requiresHa": {
      "description": "Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance.",
      "type": [
        "boolean",
        "null"
      ],
      "x-versionadded": "v2.26"
    },
    "resourceBundleId": {
      "description": "A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.33"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentError": {
          "description": "Training data configuration.",
          "properties": {
            "message": {
              "description": "Training data assignment error message",
              "maxLength": 10000,
              "type": [
                "string",
                "null"
              ],
              "x-versionadded": "v2.31"
            }
          },
          "type": "object"
        },
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ]
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "versionMajor": {
      "description": "The major version number, incremented on deployments or larger file changes.",
      "type": "integer"
    },
    "versionMinor": {
      "description": "The minor version number, incremented on general file changes.",
      "type": "integer"
    }
  },
  "required": [
    "created",
    "customModelId",
    "description",
    "id",
    "isFrozen",
    "items",
    "label",
    "versionMajor",
    "versionMinor"
  ],
  "type": "object"
}
```

The latest version for the custom model (if this field is empty, the model is not ready for use).

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| baseEnvironmentId | string,null | false |  | The base environment to use with this model version. |
| baseEnvironmentVersionId | string,null | false |  | The base environment version to use with this model version. |
| created | string | true |  | ISO-8601 timestamp of when the model was created. |
| customModelId | string | true |  | The ID of the custom model. |
| dependencies | [DependencyResponse] | false | maxItems: 1000 | The parsed dependencies of the custom model version if the version has a valid requirements.txt file. |
| description | string,null | true |  | Description of a custom model version. |
| desiredMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The amount of memory that is expected to be allocated by the custom model. This setting is incompatible with setting the resourceBundleId. |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| holdoutData | HoldoutDataResponse | false |  | Holdout data configuration. |
| id | string | true |  | the ID of the custom model version created. |
| isFrozen | boolean | true |  | If the version is frozen and immutable (i.e. it is either deployed or has been edited, causing a newer version to be yielded). |
| items | [DeprecatedCustomModelWorkspaceItemResponse] | true | maxItems: 100 | List of file items. |
| label | string | true |  | A semantic version number of the major and minor version. |
| maximumMemory | integer,null | false | maximum: 15032385536minimum: 134217728 | The maximum memory that might be allocated by the custom-model. If exceeded, the custom-model will be killed. This setting is incompatible with setting the resourceBundleId. |
| networkEgressPolicy | string,null | false |  | Network egress policy. |
| replicas | integer,null | false | maximum: 25 | A fixed number of replicas that will be set for the given custom-model. |
| requiredMetadata | object | false |  | Additional parameters required by the execution environment. The required keys are defined by the fieldNames in the base environment's requiredMetadataKeys. Once set, they cannot be changed. If you to change them, make a new version. |
| requiredMetadataValues | [RequiredMetadataValue] | false | maxItems: 100 | Additional parameters required by the execution environment. The required fieldNames are defined by the fieldNames in the base environment's requiredMetadataKeys. |
| requiresHa | boolean,null | false |  | Require all custom model replicas to be deployed on different Kubernetes nodes for predictions fault tolerance. |
| resourceBundleId | string,null | false |  | A single identifier that represents a bundle of resources: Memory, CPU, GPU, etc. A list of available bundles can be obtained via the resource bundles endpoint. |
| trainingData | TrainingDataResponse | false |  | Training data configuration. |
| versionMajor | integer | true |  | The major version number, incremented on deployments or larger file changes. |
| versionMinor | integer | true |  | The minor version number, incremented on general file changes. |

### Enumerated Values

| Property | Value |
| --- | --- |
| networkEgressPolicy | [NONE, PUBLIC] |

## CustomModelVersionShortResponse

```
{
  "description": "Custom model version associated with this deployment.",
  "properties": {
    "id": {
      "description": "The ID of the custom model version.",
      "type": "string"
    },
    "label": {
      "description": "User-friendly name of the model version.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "label"
  ],
  "type": "object"
}
```

Custom model version associated with this deployment.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the custom model version. |
| label | string | true |  | User-friendly name of the model version. |

## CustomModelVersionToCodespace

```
{
  "properties": {
    "codespaceId": {
      "description": "The ID of the codespace that should be updated with custom model version files.",
      "type": "string"
    }
  },
  "required": [
    "codespaceId"
  ],
  "type": "object",
  "x-versionadded": "v2.37"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| codespaceId | string | true |  | The ID of the codespace that should be updated with custom model version files. |

## DependencyBuildLogResponse

```
{
  "properties": {
    "data": {
      "description": "The custom model version's dependency build log in tar.gz format.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| data | string(binary) | true |  | The custom model version's dependency build log in tar.gz format. |

## DependencyConstraint

```
{
  "properties": {
    "constraintType": {
      "description": "The constraint type to apply to the version.",
      "enum": [
        "<",
        "<=",
        "==",
        ">=",
        ">"
      ],
      "type": "string"
    },
    "version": {
      "description": "The version label to use in the constraint.",
      "type": "string"
    }
  },
  "required": [
    "constraintType",
    "version"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| constraintType | string | true |  | The constraint type to apply to the version. |
| version | string | true |  | The version label to use in the constraint. |

### Enumerated Values

| Property | Value |
| --- | --- |
| constraintType | [<, <=, ==, >=, >] |

## DependencyResponse

```
{
  "properties": {
    "constraints": {
      "description": "Constraints that should be applied to the dependency when installed.",
      "items": {
        "properties": {
          "constraintType": {
            "description": "The constraint type to apply to the version.",
            "enum": [
              "<",
              "<=",
              "==",
              ">=",
              ">"
            ],
            "type": "string"
          },
          "version": {
            "description": "The version label to use in the constraint.",
            "type": "string"
          }
        },
        "required": [
          "constraintType",
          "version"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "extras": {
      "description": "The dependency's package extras.",
      "type": "string"
    },
    "line": {
      "description": "The original line from the requirements.txt file.",
      "type": "string"
    },
    "lineNumber": {
      "description": "The line number the requirement was on in requirements.txt.",
      "type": "integer"
    },
    "packageName": {
      "description": "The dependency's package name.",
      "type": "string"
    }
  },
  "required": [
    "constraints",
    "line",
    "lineNumber",
    "packageName"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| constraints | [DependencyConstraint] | true | maxItems: 100 | Constraints that should be applied to the dependency when installed. |
| extras | string | false |  | The dependency's package extras. |
| line | string | true |  | The original line from the requirements.txt file. |
| lineNumber | integer | true |  | The line number the requirement was on in requirements.txt. |
| packageName | string | true |  | The dependency's package name. |

## DeprecatedCustomModelVersionTrainingDataUpdate

```
{
  "properties": {
    "gitModelVersion": {
      "description": "Contains git related attributes that are associated with a custom model version.",
      "properties": {
        "commitUrl": {
          "description": "A URL to the commit page in GitHub repository.",
          "format": "uri",
          "type": "string"
        },
        "mainBranchCommitSha": {
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": "string"
        },
        "pullRequestCommitSha": {
          "default": null,
          "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
          "maxLength": 40,
          "minLength": 40,
          "type": [
            "string",
            "null"
          ]
        },
        "refName": {
          "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
          "type": "string"
        }
      },
      "required": [
        "commitUrl",
        "mainBranchCommitSha",
        "pullRequestCommitSha",
        "refName"
      ],
      "type": "object"
    },
    "holdoutData": {
      "description": "Holdout data configuration.",
      "properties": {
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "partitionColumn": {
          "description": "The name of the column containing the partition assignments.",
          "maxLength": 500,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.33"
        }
      },
      "type": "object"
    },
    "trainingData": {
      "description": "Training data configuration.",
      "properties": {
        "assignmentInProgress": {
          "default": false,
          "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
          "type": "boolean",
          "x-versiondeprecated": "v2.33"
        },
        "datasetId": {
          "description": "The ID of the dataset.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetName": {
          "description": "A user-friendly name for the dataset.",
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        },
        "datasetVersionId": {
          "description": "The ID of the dataset version.",
          "type": [
            "string",
            "null"
          ],
          "x-versiondeprecated": "v2.34"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "trainingData"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| gitModelVersion | GitModelVersion | false |  | Contains git related attributes that are associated with a custom model version. |
| holdoutData | DeprecatedHoldoutDataAssignment | false |  | Holdout data configuration. |
| trainingData | DeprecatedTrainingDataForVersionsAssignment | true |  | Training data configuration. |

## DeprecatedCustomModelWorkspaceItemResponse

```
{
  "properties": {
    "commitSha": {
      "description": "SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories).",
      "type": [
        "string",
        "null"
      ]
    },
    "created": {
      "description": "ISO-8601 timestamp of when the file item was created.",
      "type": "string"
    },
    "fileName": {
      "description": "The name of the file item.",
      "type": "string"
    },
    "filePath": {
      "description": "The path of the file item.",
      "type": "string"
    },
    "fileSource": {
      "description": "The source of the file item.",
      "type": "string"
    },
    "id": {
      "description": "ID of the file item.",
      "type": "string"
    },
    "ref": {
      "description": "Remote reference (branch, commit, tag). Branch \"master\", if not specified.",
      "type": [
        "string",
        "null"
      ]
    },
    "repositoryFilePath": {
      "description": "Full path to the file in the remote repository.",
      "type": [
        "string",
        "null"
      ]
    },
    "repositoryLocation": {
      "description": "URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name).",
      "type": [
        "string",
        "null"
      ]
    },
    "repositoryName": {
      "description": "Name of the repository from which the file was pulled.",
      "type": [
        "string",
        "null"
      ]
    },
    "storagePath": {
      "description": "Storage path of the file item.",
      "type": "string",
      "x-versiondeprecated": "2.25"
    },
    "workspaceId": {
      "description": "The workspace ID of the file item.",
      "type": "string",
      "x-versiondeprecated": "2.25"
    }
  },
  "required": [
    "created",
    "fileName",
    "filePath",
    "fileSource",
    "id",
    "storagePath",
    "workspaceId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| commitSha | string,null | false |  | SHA1 hash pointing to the original file revision (set only for files pulled from Git-like repositories). |
| created | string | true |  | ISO-8601 timestamp of when the file item was created. |
| fileName | string | true |  | The name of the file item. |
| filePath | string | true |  | The path of the file item. |
| fileSource | string | true |  | The source of the file item. |
| id | string | true |  | ID of the file item. |
| ref | string,null | false |  | Remote reference (branch, commit, tag). Branch "master", if not specified. |
| repositoryFilePath | string,null | false |  | Full path to the file in the remote repository. |
| repositoryLocation | string,null | false |  | URL to remote repository from which the file was pulled (e.g. Git server or S3 Bucket name). |
| repositoryName | string,null | false |  | Name of the repository from which the file was pulled. |
| storagePath | string | true |  | Storage path of the file item. |
| workspaceId | string | true |  | The workspace ID of the file item. |

## DeprecatedHoldoutDataAssignment

```
{
  "description": "Holdout data configuration.",
  "properties": {
    "datasetId": {
      "description": "The ID of the dataset.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "partitionColumn": {
      "description": "The name of the column containing the partition assignments.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.33"
    }
  },
  "type": "object"
}
```

Holdout data configuration.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| datasetId | string,null | false |  | The ID of the dataset. |
| datasetName | string,null | false | maxLength: 255 | A user-friendly name for the dataset. |
| datasetVersionId | string,null | false |  | The ID of the dataset version. |
| partitionColumn | string,null | false | maxLength: 500 | The name of the column containing the partition assignments. |

## DeprecatedTrainingDataForModelsAssignment

```
{
  "properties": {
    "datasetId": {
      "description": "The ID of the dataset.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "partitionColumn": {
      "description": "The name of the column containing the partition assignments.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    }
  },
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| datasetId | string,null | false |  | The ID of the dataset. |
| datasetName | string,null | false | maxLength: 255 | A user-friendly name for the dataset. |
| datasetVersionId | string,null | false |  | The ID of the dataset version. |
| partitionColumn | string,null | false | maxLength: 500 | The name of the column containing the partition assignments. |

## DeprecatedTrainingDataForVersionsAssignment

```
{
  "description": "Training data configuration.",
  "properties": {
    "assignmentInProgress": {
      "default": false,
      "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
      "type": "boolean",
      "x-versiondeprecated": "v2.33"
    },
    "datasetId": {
      "description": "The ID of the dataset.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.",
      "type": [
        "string",
        "null"
      ],
      "x-versiondeprecated": "v2.34"
    }
  },
  "type": "object"
}
```

Training data configuration.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| assignmentInProgress | boolean | false |  | Indicates if training data is currently being assigned to the custom model. Only for structured models. |
| datasetId | string,null | false |  | The ID of the dataset. |
| datasetName | string,null | false | maxLength: 255 | A user-friendly name for the dataset. |
| datasetVersionId | string,null | false |  | The ID of the dataset version. |

## ExecutionEnvironmentCreate

```
{
  "properties": {
    "description": {
      "default": "",
      "description": "The description of the environment to be created.",
      "maxLength": 10000,
      "type": "string"
    },
    "environmentId": {
      "description": "The ID the new environment should use. Only admins can create environments with pre-defined IDs",
      "type": "string"
    },
    "isPublic": {
      "description": "True/False public access for the environment. Public environments can be used by all users without sharing. Public access to environments can only be added by an admin",
      "type": "boolean"
    },
    "name": {
      "description": "The name of the environment to be created.",
      "maxLength": 255,
      "type": "string"
    },
    "programmingLanguage": {
      "default": "other",
      "description": "The programming language of the environment to be created.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    }
  },
  "required": [
    "name"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| description | string | false | maxLength: 10000 | The description of the environment to be created. |
| environmentId | string | false |  | The ID the new environment should use. Only admins can create environments with pre-defined IDs |
| isPublic | boolean | false |  | True/False public access for the environment. Public environments can be used by all users without sharing. Public access to environments can only be added by an admin |
| name | string | true | maxLength: 255 | The name of the environment to be created. |
| programmingLanguage | string | false |  | The programming language of the environment to be created. |
| useCases | [string] | false | maxItems: 6 | The list of use cases supported by the environment |

### Enumerated Values

| Property | Value |
| --- | --- |
| programmingLanguage | [python, r, java, julia, legacy, other] |

## ExecutionEnvironmentCreateResponse

```
{
  "properties": {
    "id": {
      "description": "The ID of the newly created environment.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the newly created environment. |

## ExecutionEnvironmentListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of execution environments.",
      "items": {
        "properties": {
          "created": {
            "description": "ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
            "type": "string"
          },
          "deploymentsCount": {
            "description": "Number of deployments in environment.",
            "type": "integer"
          },
          "description": {
            "description": "The description of the environment.",
            "type": "string"
          },
          "id": {
            "description": "The ID of the environment.",
            "type": "string"
          },
          "isPublic": {
            "description": "If the environment is public.",
            "type": "boolean",
            "x-versionadded": "v2.23"
          },
          "latestSuccessfulVersion": {
            "description": "Latest version build for this environment.",
            "properties": {
              "buildId": {
                "description": "The environment version image build ID.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "buildStatus": {
                "description": "The status of the build.",
                "enum": [
                  "submitted",
                  "processing",
                  "failed",
                  "success",
                  "aborted"
                ],
                "type": "string"
              },
              "contextUrl": {
                "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
                "type": "string",
                "x-versionadded": "v2.37"
              },
              "created": {
                "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
                "type": "string"
              },
              "description": {
                "description": "The description of the environment version.",
                "type": "string"
              },
              "dockerContext": {
                "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerContextSize": {
                "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "dockerImage": {
                "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerImageSize": {
                "description": "The size of the built Docker image in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "environmentId": {
                "description": "The ID of the environment.",
                "type": "string"
              },
              "id": {
                "description": "The ID of the environment version.",
                "type": "string"
              },
              "imageId": {
                "description": "The Docker image ID of the environment version.",
                "type": "string"
              },
              "label": {
                "description": "Human readable version indicator.",
                "type": "string"
              },
              "sourceDockerImageUri": {
                "description": "The image URI that was used as a base to build the environment.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.37"
              }
            },
            "required": [
              "buildStatus",
              "contextUrl",
              "created",
              "description",
              "dockerContext",
              "dockerContextSize",
              "dockerImage",
              "dockerImageSize",
              "environmentId",
              "id",
              "imageId",
              "label"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "latestVersion": {
            "description": "Latest version build for this environment.",
            "properties": {
              "buildId": {
                "description": "The environment version image build ID.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "buildStatus": {
                "description": "The status of the build.",
                "enum": [
                  "submitted",
                  "processing",
                  "failed",
                  "success",
                  "aborted"
                ],
                "type": "string"
              },
              "contextUrl": {
                "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
                "type": "string",
                "x-versionadded": "v2.37"
              },
              "created": {
                "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
                "type": "string"
              },
              "description": {
                "description": "The description of the environment version.",
                "type": "string"
              },
              "dockerContext": {
                "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerContextSize": {
                "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "dockerImage": {
                "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
                "type": [
                  "string",
                  "null"
                ]
              },
              "dockerImageSize": {
                "description": "The size of the built Docker image in bytes if available, or `null` if not.",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "environmentId": {
                "description": "The ID of the environment.",
                "type": "string"
              },
              "id": {
                "description": "The ID of the environment version.",
                "type": "string"
              },
              "imageId": {
                "description": "The Docker image ID of the environment version.",
                "type": "string"
              },
              "label": {
                "description": "Human readable version indicator.",
                "type": "string"
              },
              "sourceDockerImageUri": {
                "description": "The image URI that was used as a base to build the environment.",
                "type": [
                  "string",
                  "null"
                ],
                "x-versionadded": "v2.37"
              }
            },
            "required": [
              "buildStatus",
              "contextUrl",
              "created",
              "description",
              "dockerContext",
              "dockerContextSize",
              "dockerImage",
              "dockerImageSize",
              "environmentId",
              "id",
              "imageId",
              "label"
            ],
            "type": "object",
            "x-versionadded": "v2.36"
          },
          "name": {
            "description": "The name of the environment.",
            "type": "string"
          },
          "programmingLanguage": {
            "description": "The programming language of the environment to be created.",
            "enum": [
              "python",
              "r",
              "java",
              "julia",
              "legacy",
              "other"
            ],
            "type": "string"
          },
          "useCases": {
            "description": "The list of use cases supported by the environment",
            "items": {
              "enum": [
                "customModel",
                "notebook",
                "gpu",
                "customApplication",
                "sparkApplication",
                "customJob"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "type": "array",
            "x-versionadded": "v2.36"
          },
          "username": {
            "description": "The username of the user.",
            "type": "string"
          }
        },
        "required": [
          "created",
          "description",
          "id",
          "isPublic",
          "latestSuccessfulVersion",
          "latestVersion",
          "name",
          "programmingLanguage",
          "username"
        ],
        "type": "object",
        "x-versionadded": "v2.36"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [ExecutionEnvironmentResponse] | true | maxItems: 1000 | The list of execution environments. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## ExecutionEnvironmentPermadelete

```
{
  "properties": {
    "executionEnvironmentIds": {
      "description": "List of custom environments to be permanently deleted.",
      "items": {
        "description": "An ID for a custom environment to be permanently deleted.",
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "executionEnvironmentIds"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| executionEnvironmentIds | [string] | true | maxItems: 10minItems: 1 | List of custom environments to be permanently deleted. |

## ExecutionEnvironmentResponse

```
{
  "properties": {
    "created": {
      "description": "ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
      "type": "string"
    },
    "deploymentsCount": {
      "description": "Number of deployments in environment.",
      "type": "integer"
    },
    "description": {
      "description": "The description of the environment.",
      "type": "string"
    },
    "id": {
      "description": "The ID of the environment.",
      "type": "string"
    },
    "isPublic": {
      "description": "If the environment is public.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "latestSuccessfulVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "latestVersion": {
      "description": "Latest version build for this environment.",
      "properties": {
        "buildId": {
          "description": "The environment version image build ID.",
          "type": [
            "string",
            "null"
          ]
        },
        "buildStatus": {
          "description": "The status of the build.",
          "enum": [
            "submitted",
            "processing",
            "failed",
            "success",
            "aborted"
          ],
          "type": "string"
        },
        "contextUrl": {
          "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
          "type": "string",
          "x-versionadded": "v2.37"
        },
        "created": {
          "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
          "type": "string"
        },
        "description": {
          "description": "The description of the environment version.",
          "type": "string"
        },
        "dockerContext": {
          "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerContextSize": {
          "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "dockerImage": {
          "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
          "type": [
            "string",
            "null"
          ]
        },
        "dockerImageSize": {
          "description": "The size of the built Docker image in bytes if available, or `null` if not.",
          "type": [
            "integer",
            "null"
          ]
        },
        "environmentId": {
          "description": "The ID of the environment.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the environment version.",
          "type": "string"
        },
        "imageId": {
          "description": "The Docker image ID of the environment version.",
          "type": "string"
        },
        "label": {
          "description": "Human readable version indicator.",
          "type": "string"
        },
        "sourceDockerImageUri": {
          "description": "The image URI that was used as a base to build the environment.",
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.37"
        }
      },
      "required": [
        "buildStatus",
        "contextUrl",
        "created",
        "description",
        "dockerContext",
        "dockerContextSize",
        "dockerImage",
        "dockerImageSize",
        "environmentId",
        "id",
        "imageId",
        "label"
      ],
      "type": "object",
      "x-versionadded": "v2.36"
    },
    "name": {
      "description": "The name of the environment.",
      "type": "string"
    },
    "programmingLanguage": {
      "description": "The programming language of the environment to be created.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    },
    "username": {
      "description": "The username of the user.",
      "type": "string"
    }
  },
  "required": [
    "created",
    "description",
    "id",
    "isPublic",
    "latestSuccessfulVersion",
    "latestVersion",
    "name",
    "programmingLanguage",
    "username"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| created | string | true |  | ISO-8601 environment creation timestamp. Example: 2016-12-13T11:12:13.141516Z. |
| deploymentsCount | integer | false |  | Number of deployments in environment. |
| description | string | true |  | The description of the environment. |
| id | string | true |  | The ID of the environment. |
| isPublic | boolean | true |  | If the environment is public. |
| latestSuccessfulVersion | ExecutionEnvironmentVersionResponse | true |  | Latest version build for this environment. |
| latestVersion | ExecutionEnvironmentVersionResponse | true |  | Latest version build for this environment. |
| name | string | true |  | The name of the environment. |
| programmingLanguage | string | true |  | The programming language of the environment to be created. |
| useCases | [string] | false | maxItems: 6 | The list of use cases supported by the environment |
| username | string | true |  | The username of the user. |

### Enumerated Values

| Property | Value |
| --- | --- |
| programmingLanguage | [python, r, java, julia, legacy, other] |

## ExecutionEnvironmentShortResponse

```
{
  "description": "Execution environment associated with this deployment.",
  "properties": {
    "id": {
      "description": "The ID of the execution environment.",
      "type": "string"
    },
    "name": {
      "description": "User-friendly name of the execution environment.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "type": "object"
}
```

Execution environment associated with this deployment.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the execution environment. |
| name | string | true |  | User-friendly name of the execution environment. |

## ExecutionEnvironmentUpdate

```
{
  "properties": {
    "description": {
      "description": "The new description of the environment.",
      "maxLength": 10000,
      "type": "string"
    },
    "isPublic": {
      "description": "If the environment is public.",
      "type": "boolean",
      "x-versionadded": "v2.39"
    },
    "name": {
      "description": "New execution environment name.",
      "maxLength": 255,
      "type": "string"
    },
    "programmingLanguage": {
      "description": "The new programming language of the environment.",
      "enum": [
        "python",
        "r",
        "java",
        "julia",
        "legacy",
        "other"
      ],
      "type": "string"
    },
    "useCases": {
      "description": "The list of use cases supported by the environment",
      "items": {
        "enum": [
          "customModel",
          "notebook",
          "gpu",
          "customApplication",
          "sparkApplication",
          "customJob"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "type": "array",
      "x-versionadded": "v2.36"
    }
  },
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| description | string | false | maxLength: 10000 | The new description of the environment. |
| isPublic | boolean | false |  | If the environment is public. |
| name | string | false | maxLength: 255 | New execution environment name. |
| programmingLanguage | string | false |  | The new programming language of the environment. |
| useCases | [string] | false | maxItems: 6 | The list of use cases supported by the environment |

### Enumerated Values

| Property | Value |
| --- | --- |
| programmingLanguage | [python, r, java, julia, legacy, other] |

## ExecutionEnvironmentVersionBuildLogResponse

```
{
  "properties": {
    "error": {
      "description": "The message specifying why the build failed. Empty if the build finished successfully.",
      "type": "string"
    },
    "log": {
      "description": "The full console output of the execution environment build. Logs are empty unless version build is finished.",
      "type": "string"
    }
  },
  "required": [
    "error",
    "log"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| error | string | true |  | The message specifying why the build failed. Empty if the build finished successfully. |
| log | string | true |  | The full console output of the execution environment build. Logs are empty unless version build is finished. |

## ExecutionEnvironmentVersionCreate

```
{
  "properties": {
    "contextUrl": {
      "default": "",
      "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
      "maxLength": 1000,
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "description": {
      "default": "",
      "description": "The description of the environment version.",
      "maxLength": 10000,
      "type": "string"
    },
    "dockerContext": {
      "description": "Context tar.gz or zip file. The Docker Context file should be a tar.gz or zip file containing at minimum a single top-level file named \"Dockerfile\".  This file should be a Docker-compatible Dockerfile using syntax as defined in the `official Docker documentation <https://docs.docker.com/engine/reference/builder/>`_. The archive may contain additional files as well. These files may be added into the final container using `ADD <https://docs.docker.com/engine/reference/builder/#add>`_ and/or `COPY <https://docs.docker.com/engine/reference/builder/#copy>`_ directives in the Dockerfile.",
      "format": "binary",
      "type": "string"
    },
    "dockerImage": {
      "description": "The pre-built Docker image saved as a .tar archive. If not supplied, the environment will be built from the supplied dockerContext.",
      "format": "binary",
      "type": "string"
    },
    "dockerImageUri": {
      "description": "The URI of the Docker image that is used to build the environment version. Parameter dockerContext may also be provided to upload context, but the image URI is used for the build.",
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "environmentVersionId": {
      "description": "The ID the new environment version should use. Only admins can create environment versions with pre-defined IDs",
      "type": "string"
    },
    "label": {
      "default": "",
      "description": "Human readable version indicator.",
      "maxLength": 50,
      "type": "string"
    }
  },
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| contextUrl | string | false | maxLength: 1000 | Docker context URL of the environment version. It is not intended to be used for automatic processing. |
| description | string | false | maxLength: 10000 | The description of the environment version. |
| dockerContext | string(binary) | false |  | Context tar.gz or zip file. The Docker Context file should be a tar.gz or zip file containing at minimum a single top-level file named "Dockerfile". This file should be a Docker-compatible Dockerfile using syntax as defined in the official Docker documentation <https://docs.docker.com/engine/reference/builder/>. The archive may contain additional files as well. These files may be added into the final container using ADD <https://docs.docker.com/engine/reference/builder/#add> and/or COPY <https://docs.docker.com/engine/reference/builder/#copy>_ directives in the Dockerfile. |
| dockerImage | string(binary) | false |  | The pre-built Docker image saved as a .tar archive. If not supplied, the environment will be built from the supplied dockerContext. |
| dockerImageUri | string | false |  | The URI of the Docker image that is used to build the environment version. Parameter dockerContext may also be provided to upload context, but the image URI is used for the build. |
| environmentVersionId | string | false |  | The ID the new environment version should use. Only admins can create environment versions with pre-defined IDs |
| label | string | false | maxLength: 50 | Human readable version indicator. |

## ExecutionEnvironmentVersionListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of execution environment versions.",
      "items": {
        "description": "Latest version build for this environment.",
        "properties": {
          "buildId": {
            "description": "The environment version image build ID.",
            "type": [
              "string",
              "null"
            ]
          },
          "buildStatus": {
            "description": "The status of the build.",
            "enum": [
              "submitted",
              "processing",
              "failed",
              "success",
              "aborted"
            ],
            "type": "string"
          },
          "contextUrl": {
            "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
            "type": "string",
            "x-versionadded": "v2.37"
          },
          "created": {
            "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
            "type": "string"
          },
          "description": {
            "description": "The description of the environment version.",
            "type": "string"
          },
          "dockerContext": {
            "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerContextSize": {
            "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
            "type": [
              "integer",
              "null"
            ]
          },
          "dockerImage": {
            "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerImageSize": {
            "description": "The size of the built Docker image in bytes if available, or `null` if not.",
            "type": [
              "integer",
              "null"
            ]
          },
          "environmentId": {
            "description": "The ID of the environment.",
            "type": "string"
          },
          "id": {
            "description": "The ID of the environment version.",
            "type": "string"
          },
          "imageId": {
            "description": "The Docker image ID of the environment version.",
            "type": "string"
          },
          "label": {
            "description": "Human readable version indicator.",
            "type": "string"
          },
          "sourceDockerImageUri": {
            "description": "The image URI that was used as a base to build the environment.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.37"
          }
        },
        "required": [
          "buildStatus",
          "contextUrl",
          "created",
          "description",
          "dockerContext",
          "dockerContextSize",
          "dockerImage",
          "dockerImageSize",
          "environmentId",
          "id",
          "imageId",
          "label"
        ],
        "type": "object",
        "x-versionadded": "v2.36"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | false |  | The number of items returned on this page. |
| data | [ExecutionEnvironmentVersionResponse] | true | maxItems: 1000 | The list of execution environment versions. |
| next | string,null(uri) | true |  | The URL of the next page (if null, there is no next page). |
| previous | string,null(uri) | true |  | The URL of the previous page (if null, there is no previous page). |
| totalCount | integer | true |  | The total number of items across all pages. |

## ExecutionEnvironmentVersionResponse

```
{
  "description": "Latest version build for this environment.",
  "properties": {
    "buildId": {
      "description": "The environment version image build ID.",
      "type": [
        "string",
        "null"
      ]
    },
    "buildStatus": {
      "description": "The status of the build.",
      "enum": [
        "submitted",
        "processing",
        "failed",
        "success",
        "aborted"
      ],
      "type": "string"
    },
    "contextUrl": {
      "description": "Docker context URL of the environment version. It is not intended to be used for automatic processing.",
      "type": "string",
      "x-versionadded": "v2.37"
    },
    "created": {
      "description": "ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z.",
      "type": "string"
    },
    "description": {
      "description": "The description of the environment version.",
      "type": "string"
    },
    "dockerContext": {
      "description": "A URL that can be used to download the Docker context of the environment version, if available or `null`",
      "type": [
        "string",
        "null"
      ]
    },
    "dockerContextSize": {
      "description": "The size of the uploaded Docker context in bytes if available, or `null` if not.",
      "type": [
        "integer",
        "null"
      ]
    },
    "dockerImage": {
      "description": "A URL that can be used to download the built Docker image as a tarball of the environment version, if available or `null`",
      "type": [
        "string",
        "null"
      ]
    },
    "dockerImageSize": {
      "description": "The size of the built Docker image in bytes if available, or `null` if not.",
      "type": [
        "integer",
        "null"
      ]
    },
    "environmentId": {
      "description": "The ID of the environment.",
      "type": "string"
    },
    "id": {
      "description": "The ID of the environment version.",
      "type": "string"
    },
    "imageId": {
      "description": "The Docker image ID of the environment version.",
      "type": "string"
    },
    "label": {
      "description": "Human readable version indicator.",
      "type": "string"
    },
    "sourceDockerImageUri": {
      "description": "The image URI that was used as a base to build the environment.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.37"
    }
  },
  "required": [
    "buildStatus",
    "contextUrl",
    "created",
    "description",
    "dockerContext",
    "dockerContextSize",
    "dockerImage",
    "dockerImageSize",
    "environmentId",
    "id",
    "imageId",
    "label"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

Latest version build for this environment.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| buildId | string,null | false |  | The environment version image build ID. |
| buildStatus | string | true |  | The status of the build. |
| contextUrl | string | true |  | Docker context URL of the environment version. It is not intended to be used for automatic processing. |
| created | string | true |  | ISO-8601 environment version creation timestamp. Example: 2016-12-13T11:12:13.141516Z. |
| description | string | true |  | The description of the environment version. |
| dockerContext | string,null | true |  | A URL that can be used to download the Docker context of the environment version, if available or null |
| dockerContextSize | integer,null | true |  | The size of the uploaded Docker context in bytes if available, or null if not. |
| dockerImage | string,null | true |  | A URL that can be used to download the built Docker image as a tarball of the environment version, if available or null |
| dockerImageSize | integer,null | true |  | The size of the built Docker image in bytes if available, or null if not. |
| environmentId | string | true |  | The ID of the environment. |
| id | string | true |  | The ID of the environment version. |
| imageId | string | true |  | The Docker image ID of the environment version. |
| label | string | true |  | Human readable version indicator. |
| sourceDockerImageUri | string,null | false |  | The image URI that was used as a base to build the environment. |

### Enumerated Values

| Property | Value |
| --- | --- |
| buildStatus | [submitted, processing, failed, success, aborted] |

## ExecutionEnvironmentVersionShortResponse

```
{
  "description": "Execution environment version associated with this deployment.",
  "properties": {
    "id": {
      "description": "The ID of the execution environment version.",
      "type": "string"
    },
    "label": {
      "description": "User-friendly name of the execution environment version.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "label"
  ],
  "type": "object"
}
```

Execution environment version associated with this deployment.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| id | string | true |  | The ID of the execution environment version. |
| label | string | true |  | User-friendly name of the execution environment version. |

## FeatureImpactCreatePayload

```
{
  "properties": {
    "rowCount": {
      "description": "The sample size to use for Feature Impact computation. It is possible to re-compute Feature Impact with a different row count.",
      "maximum": 100000,
      "minimum": 10,
      "type": "integer",
      "x-versionadded": "v2.21"
    }
  },
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| rowCount | integer | false | maximum: 100000minimum: 10 | The sample size to use for Feature Impact computation. It is possible to re-compute Feature Impact with a different row count. |

## FeatureImpactCreateResponse

```
{
  "properties": {
    "statusId": {
      "description": "ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] for tracking job status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| statusId | string | true |  | ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] for tracking job status. |

## FeatureImpactItem

```
{
  "properties": {
    "featureName": {
      "description": "The name of the feature.",
      "type": "string"
    },
    "impactNormalized": {
      "description": "The same as `impactUnnormalized`, but normalized such that the highest value is `1`.",
      "maximum": 1,
      "type": "number"
    },
    "impactUnnormalized": {
      "description": "How much worse the error metric score is when making predictions on modified data.",
      "type": "number"
    },
    "parentFeatureName": {
      "description": "The name of the parent feature.",
      "type": [
        "string",
        "null"
      ]
    },
    "redundantWith": {
      "description": "Name of feature that has the highest correlation with this feature.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "featureName",
    "impactNormalized",
    "impactUnnormalized",
    "redundantWith"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| featureName | string | true |  | The name of the feature. |
| impactNormalized | number | true | maximum: 1 | The same as impactUnnormalized, but normalized such that the highest value is 1. |
| impactUnnormalized | number | true |  | How much worse the error metric score is when making predictions on modified data. |
| parentFeatureName | string,null | false |  | The name of the parent feature. |
| redundantWith | string,null | true |  | Name of feature that has the highest correlation with this feature. |

## FeatureImpactResponse

```
{
  "properties": {
    "count": {
      "description": "Number of feature impact records in a given batch.",
      "type": "integer"
    },
    "featureImpacts": {
      "description": "A list which contains feature impact scores for each feature used by a model. If the model has more than 1000 features, the most important 1000 features are returned.",
      "items": {
        "properties": {
          "featureName": {
            "description": "The name of the feature.",
            "type": "string"
          },
          "impactNormalized": {
            "description": "The same as `impactUnnormalized`, but normalized such that the highest value is `1`.",
            "maximum": 1,
            "type": "number"
          },
          "impactUnnormalized": {
            "description": "How much worse the error metric score is when making predictions on modified data.",
            "type": "number"
          },
          "parentFeatureName": {
            "description": "The name of the parent feature.",
            "type": [
              "string",
              "null"
            ]
          },
          "redundantWith": {
            "description": "Name of feature that has the highest correlation with this feature.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "featureName",
          "impactNormalized",
          "impactUnnormalized",
          "redundantWith"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL for the next page of results, or null if there is no next page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL for the previous page of results, or null if there is no previous page.",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "ranRedundancyDetection": {
      "description": "Indicates whether redundant feature identification was run while calculating this feature impact.",
      "type": "boolean"
    },
    "rowCount": {
      "description": "The number of rows that was used to calculate feature impact. For the feature impact calculated with the default logic, without specifying the ``rowCount``, we return ``null`` here.",
      "type": [
        "integer",
        "null"
      ],
      "x-versionadded": "v2.21"
    },
    "shapBased": {
      "description": "Indicates whether feature impact was calculated using Shapley values. True for anomaly detection models when the project is unsupervised, as permutation approach is not applicable. Note that supervised projects must use an alternative route for SHAP impact: /api/v2/projects/(projectId)/models/(modelId)/shapImpact/",
      "type": "boolean",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "count",
    "featureImpacts",
    "next",
    "previous",
    "ranRedundancyDetection",
    "rowCount",
    "shapBased"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | true |  | Number of feature impact records in a given batch. |
| featureImpacts | [FeatureImpactItem] | true | maxItems: 1000 | A list which contains feature impact scores for each feature used by a model. If the model has more than 1000 features, the most important 1000 features are returned. |
| next | string,null(uri) | true |  | The URL for the next page of results, or null if there is no next page. |
| previous | string,null(uri) | true |  | The URL for the previous page of results, or null if there is no previous page. |
| ranRedundancyDetection | boolean | true |  | Indicates whether redundant feature identification was run while calculating this feature impact. |
| rowCount | integer,null | true |  | The number of rows that was used to calculate feature impact. For the feature impact calculated with the default logic, without specifying the rowCount, we return null here. |
| shapBased | boolean | true |  | Indicates whether feature impact was calculated using Shapley values. True for anomaly detection models when the project is unsupervised, as permutation approach is not applicable. Note that supervised projects must use an alternative route for SHAP impact: /api/v2/projects/(projectId)/models/(modelId)/shapImpact/ |

## GeneratedMetadata

```
{
  "description": "Custom model conversion output metadata.",
  "properties": {
    "outputColumns": {
      "description": "A list of column lists that are associated with the output datasets from the custom model conversion process.",
      "items": {
        "description": "A columns list belong to a single dataset output from a custom model conversion process",
        "items": {
          "description": "A column name belong to a single dataset output from a custom model conversion process",
          "maxLength": 1024,
          "minLength": 1,
          "type": "string"
        },
        "maxItems": 50,
        "minItems": 1,
        "type": "array"
      },
      "maxItems": 50,
      "type": "array"
    },
    "outputDatasets": {
      "description": "A list of output datasets from the custom model conversion process.",
      "items": {
        "description": "An output dataset name from the custom model conversion process",
        "type": "string"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "outputColumns",
    "outputDatasets"
  ],
  "type": "object"
}
```

Custom model conversion output metadata.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| outputColumns | [array] | true | maxItems: 50 | A list of column lists that are associated with the output datasets from the custom model conversion process. |
| outputDatasets | [string] | true | maxItems: 50minItems: 1 | A list of output datasets from the custom model conversion process. |

## GitModelVersion

```
{
  "description": "Contains git related attributes that are associated with a custom model version.",
  "properties": {
    "commitUrl": {
      "description": "A URL to the commit page in GitHub repository.",
      "format": "uri",
      "type": "string"
    },
    "mainBranchCommitSha": {
      "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
      "maxLength": 40,
      "minLength": 40,
      "type": "string"
    },
    "pullRequestCommitSha": {
      "default": null,
      "description": "Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version.",
      "maxLength": 40,
      "minLength": 40,
      "type": [
        "string",
        "null"
      ]
    },
    "refName": {
      "description": "The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch.",
      "type": "string"
    }
  },
  "required": [
    "commitUrl",
    "mainBranchCommitSha",
    "pullRequestCommitSha",
    "refName"
  ],
  "type": "object"
}
```

Contains git related attributes that are associated with a custom model version.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| commitUrl | string(uri) | true |  | A URL to the commit page in GitHub repository. |
| mainBranchCommitSha | string | true | maxLength: 40minLength: 40minLength: 40 | Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version. |
| pullRequestCommitSha | string,null | true | maxLength: 40minLength: 40minLength: 40 | Specifies the commit SHA-1 in GitHub repository from the main branch that corresponds to a given custom model version. |
| refName | string | true |  | The branch or tag name that triggered the workflow run. For workflows triggered by push, this is the branch or tag ref that was pushed. For workflows triggered by pull_request, this is the pull request merge branch. |

## HoldoutDataResponse

```
{
  "description": "Holdout data configuration.",
  "properties": {
    "datasetId": {
      "description": "The ID of the dataset.                Should be provided only for unstructured models.                 ",
      "type": [
        "string",
        "null"
      ]
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ]
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.                Should be provided only for unstructured models.                 ",
      "type": [
        "string",
        "null"
      ]
    },
    "partitionColumn": {
      "description": "The name of the column containing the partition assignments.",
      "maxLength": 500,
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}
```

Holdout data configuration.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| datasetId | string,null | false |  | The ID of the dataset. Should be provided only for unstructured models. |
| datasetName | string,null | false | maxLength: 255 | A user-friendly name for the dataset. |
| datasetVersionId | string,null | false |  | The ID of the dataset version. Should be provided only for unstructured models. |
| partitionColumn | string,null | false | maxLength: 500 | The name of the column containing the partition assignments. |

## RequiredMetadataValue

```
{
  "properties": {
    "fieldName": {
      "description": "The required field name. This value will be added as an environment variable when running custom models.",
      "type": "string"
    },
    "value": {
      "description": "The value for the given field.",
      "maxLength": 100,
      "type": "string"
    }
  },
  "required": [
    "fieldName",
    "value"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| fieldName | string | true |  | The required field name. This value will be added as an environment variable when running custom models. |
| value | string | true | maxLength: 100 | The value for the given field. |

## SharingListResponse

```
{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "role": {
            "description": "The role of the user on this entity.",
            "type": "string"
          },
          "userId": {
            "description": "The identifier of the user that has access to this entity.",
            "type": "string"
          },
          "username": {
            "description": "The username of the user that has access to the entity.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| count | integer | true |  | The number of items returned. |
| data | [AccessControl] | true | maxItems: 1000 | The access control list. |
| next | string,null | true |  | The URL pointing to the next page. |
| previous | string,null | true |  | The URL pointing to the previous page. |

## SharingUpdateOrRemoveWithGrant

```
{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| data | [UserRoleWithGrant] | true | maxItems: 100 | List of sharing roles to update. |

## Template

```
{
  "description": "If not null, the template used to create the custom model.",
  "properties": {
    "modelType": {
      "description": "The type of template the model was created from.",
      "enum": [
        "nimModel",
        "invalid"
      ],
      "type": "string",
      "x-versionadded": "v2.36"
    },
    "templateId": {
      "description": "The ID of the template used to create this custom model.",
      "type": "string",
      "x-versionadded": "v2.36"
    }
  },
  "required": [
    "modelType",
    "templateId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}
```

If not null, the template used to create the custom model.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| modelType | string | true |  | The type of template the model was created from. |
| templateId | string | true |  | The ID of the template used to create this custom model. |

### Enumerated Values

| Property | Value |
| --- | --- |
| modelType | [nimModel, invalid] |

## TestingStatus

```
{
  "description": "Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.",
  "properties": {
    "message": {
      "description": "Test message.",
      "type": "string"
    },
    "status": {
      "description": "Test status.",
      "enum": [
        "not_tested",
        "queued",
        "failed",
        "canceled",
        "succeeded",
        "in_progress",
        "aborted",
        "warning",
        "skipped"
      ],
      "type": "string"
    }
  },
  "required": [
    "message",
    "status"
  ],
  "type": "object"
}
```

Ensures that the custom model image can build and launch. If it cannot, the test is marked as Failed and subsequent test are aborted.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| message | string | true |  | Test message. |
| status | string | true |  | Test status. |

### Enumerated Values

| Property | Value |
| --- | --- |
| status | [not_tested, queued, failed, canceled, succeeded, in_progress, aborted, warning, skipped] |

## TrainingDataAssignmentErrorResponse

```
{
  "description": "Training data configuration.",
  "properties": {
    "message": {
      "description": "Training data assignment error message",
      "maxLength": 10000,
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.31"
    }
  },
  "type": "object"
}
```

Training data configuration.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| message | string,null | false | maxLength: 10000 | Training data assignment error message |

## TrainingDataResponse

```
{
  "description": "Training data configuration.",
  "properties": {
    "assignmentError": {
      "description": "Training data configuration.",
      "properties": {
        "message": {
          "description": "Training data assignment error message",
          "maxLength": 10000,
          "type": [
            "string",
            "null"
          ],
          "x-versionadded": "v2.31"
        }
      },
      "type": "object"
    },
    "assignmentInProgress": {
      "default": false,
      "description": "Indicates if training data is currently being assigned to the custom model. Only for structured models.",
      "type": "boolean"
    },
    "datasetId": {
      "description": "The ID of the dataset.",
      "type": [
        "string",
        "null"
      ]
    },
    "datasetName": {
      "description": "A user-friendly name for the dataset.",
      "maxLength": 255,
      "type": [
        "string",
        "null"
      ]
    },
    "datasetVersionId": {
      "description": "The ID of the dataset version.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}
```

Training data configuration.

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| assignmentError | TrainingDataAssignmentErrorResponse | false |  | Training data configuration. |
| assignmentInProgress | boolean | false |  | Indicates if training data is currently being assigned to the custom model. Only for structured models. |
| datasetId | string,null | false |  | The ID of the dataset. |
| datasetName | string,null | false | maxLength: 255 | A user-friendly name for the dataset. |
| datasetVersionId | string,null | false |  | The ID of the dataset version. |

## UserRoleWithGrant

```
{
  "properties": {
    "canShare": {
      "default": true,
      "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
      "type": "boolean"
    },
    "role": {
      "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
      "enum": [
        "ADMIN",
        "CONSUMER",
        "DATA_SCIENTIST",
        "EDITOR",
        "OBSERVER",
        "OWNER",
        "READ_ONLY",
        "READ_WRITE",
        "USER"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "username": {
      "description": "The username of the user to update the access role for.",
      "type": "string"
    }
  },
  "required": [
    "role",
    "username"
  ],
  "type": "object"
}
```

### Properties

| Name | Type | Required | Restrictions | Description |
| --- | --- | --- | --- | --- |
| canShare | boolean | false |  | Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If role is NO_ROLE canShare is ignored. |
| role | string,null | true |  | The role to set on the entity. When it is None, the role of this user will be removedfrom this entity. |
| username | string | true |  | The username of the user to update the access role for. |

### Enumerated Values

| Property | Value |
| --- | --- |
| role | [ADMIN, CONSUMER, DATA_SCIENTIST, EDITOR, OBSERVER, OWNER, READ_ONLY, READ_WRITE, USER] |

---
