APIMLIterate on a multi-file CAD model with a prompt

Parameters

Name

Type

Req.

Returns

  • 201 Created

    successful creation

    Name

    Type

    Req.

    body

    object
    optional
    Object Properties
    • completed_at

      string / ISO-8601
      optional
    • conversation_id

      string / UUID
      optional
    • created_at

      string / ISO-8601
      optional
    • error

      string
      optional
    • feedback

      string
      optional
      Possible values
      • thumbs_up:  Thumbs up.
      • thumbs_down:  Thumbs down.
      • accepted:  Accepted.
      • rejected:  Rejected.
    • id

      string / UUID
      optional
    • kcl_version

      string
      optional
    • model

      string
      optional
      Possible values
      • cad:  CAD.
      • kcl:  KCL.
      • kcl_iteration:  KCL iteration.
    • model_version

      string
      optional
    • outputs

      object
      optional
    • project_name

      string
      optional
    • prompt

      string
      optional
    • source_ranges

      array
      optional
      Array of
      • file

        string
        optional
      • prompt

        string
        optional
      • range

        object
        optional
        Object Properties
        • end

          object
          optional
          Object Properties
        • start

          object
          optional
          Object Properties
    • started_at

      string / ISO-8601
      optional
    • status

      string
      optional
      Possible values
      • queued:  The async API call is queued.
      • uploaded:  The async API call was uploaded to be converted.
      • in_progress:  The async API call is in progress.
      • completed:  The async API call has completed.
      • failed:  The async API call has failed.
    • updated_at

      string / ISO-8601
      optional
    • user_id

      string / UUID
      optional
post
/ml/text-to-cad/multi-file/iteration
$ curl -X POST "https://api.zoo.dev/ml/text-to-cad/multi-file/iteration" \
	--header "Authorization: Bearer $TOKEN" \
	--header "Content-Type: multipart/form-data" \
	--data '{
  "conversation_id": "8b0fcb52-a90c-448d-81a6-7006ed7bfddd",
  "kcl_version": "hzm7ar6l6q",
  "project_name": "BtH5ib2vFXOXJxISRT",
  "prompt": "XRlu6nO1",
  "source_ranges": [
    {
      "file": "kQlOAj93Xk1rvzdDyvkQbPeR",
      "prompt": "HjKkLyiBYlYiXPEaDf6FevzD9Nbd",
      "range": {
        "end": {
          "column": 7,
          "line": 27
        },
        "start": {
          "column": 25,
          "line": 23
        }
      }
    }
  ]
}'
201 Created
Response
{
  "completed_at": "2025-08-22T16:35:36.674Z",
  "conversation_id": "481b4c8e-1e17-4bc5-87a9-c93d41224797",
  "created_at": "2025-08-22T16:35:36.674Z",
  "error": "G7LAJaSvkEKeTE",
  "feedback": "rejected",
  "id": "b2ccb2e5-c770-44da-964f-a805cd7b132f",
  "kcl_version": "nEqTNI2sh1uKgqqEFqi2",
  "model": "kcl_iteration",
  "model_version": "",
  "outputs": {},
  "project_name": "ftOm2",
  "prompt": "SaNayrdY7iQFZ58",
  "source_ranges": [
    {
      "file": "M",
      "prompt": "WiS",
      "range": {
        "end": {
          "column": 8,
          "line": 16
        },
        "start": {
          "column": 18,
          "line": 11
        }
      }
    }
  ],
  "started_at": "2025-08-22T16:35:36.674Z",
  "status": "queued",
  "updated_at": "2025-08-22T16:35:36.674Z",
  "user_id": "6d92c5aa-4275-413d-88ef-2ab9fbc352b4"
}