> For the complete documentation index, see [llms.txt](https://docs.archisketch.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.archisketch.com/guide/dev-en/api-sdk/api-integration/3d-product-integration/modeling.md).

# Register Modeling

This guide explains how to create modeling assets by uploading 3D model files.

Modeling is the first step in registering a partner's 3D model files with Archisketch. The generated modeling ID will be used later for component creation.

You must include the `X-API-KEY` in the header of all API requests. Refer to the "How to Use the API" guide for instructions on how to issue it.

```http
X-API-KEY: {x-api-key}
```

## Create Modeling

* Endpoint: `POST /api/v1/modelings`
* Request Format: `multipart/form-data`

{% stepper %}
{% step %}

### Step 1: Prepare Files

Prepare the 3D model file and the modeling name you wish to upload.

| Field         | Type    | Required | Description                              |
| ------------- | ------- | -------- | ---------------------------------------- |
| name          | string  | ✅        | Modeling name                            |
| file          | file    | ✅        | 3D model file                            |
| isPersonal    | boolean |          | Whether it belongs to a personal library |
| startModeling | boolean |          | Whether to start rendering immediately   |
| {% endstep %} |         |          |                                          |

{% step %}

### Step 2: Send Request

```http
POST /api/v1/modelings
Content-Type: multipart/form-data
X-API-KEY: {x-api-key}

name=Sofa_Modeling
file=@sofa.glb
```

{% endstep %}

{% step %}

### Step 3: Check Response

Upon successful creation, the modeling details are returned.

```json
{
  "result": "SUCCESS",
  "data": {
    "id": "mdl_abc123",
    "name": "Sofa_Modeling",
    "userId": "usr_xyz",
    "renderingStatus": "WAITING",
    "dimension": {
      "mmWidth": 900,
      "mmDepth": 800,
      "mmHeight": 750,
      "inchWidth": 35.4,
      "inchDepth": 31.5,
      "inchHeight": 29.5
    },
    "images": [],
    "file": {
      "id": "ast_001",
      "name": "sofa.glb",
      "url": "https://..."
    },
    "createdAt": "2026-04-04T10:00:00Z",
    "updatedAt": "2026-04-04T10:00:00Z"
  }
}
```

> 📌 Note: Please save the `data.id` value. It will be used as the `modelingId` in the next step, [Component Creation](/guide/dev-en/api-sdk/api-integration/3d-product-integration/component.md).

{% hint style="info" %}
If the `renderingStatus` is `WAITING`, rendering is not yet complete. Once rendering is completed, the output results will be populated in `renderAsset`.
{% endhint %}
{% endstep %}
{% endstepper %}

## Get Modeling

* Endpoint: `GET /api/v1/modelings/{id}`

Retrieve the status and information of a created modeling asset.

```http
GET /api/v1/modelings/mdl_abc123
X-API-KEY: {x-api-key}
```

* The response structure is identical to that of the Create Modeling API.

## Update Modeling File

* Endpoint: `PATCH /api/v1/modelings/{id}/file`
* Request Format: `multipart/form-data`

Replace the 3D file of an existing modeling asset.

| Field         | Type    | Required | Description                            |
| ------------- | ------- | -------- | -------------------------------------- |
| file          | file    | ✅        | New 3D model file                      |
| startModeling | boolean |          | Whether to start rendering immediately |

```http
PATCH /api/v1/modelings/mdl_abc123/file
Content-Type: multipart/form-data
X-API-KEY: {x-api-key}

file=@sofa_v2.glb
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.archisketch.com/guide/dev-en/api-sdk/api-integration/3d-product-integration/modeling.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
