> 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/component.md).

# Component

## Get Component List

> Retrieves the enterprise's component list with pagination.\
> \
> \### Pagination\
> \- Offset-based paging (starts from 0)\
> \- limit: page size (min 1, max 100)\
> \- Check existence of the next page using hasNext in the response\
> \
> \### Filter Conditions\
> \- categoryId: Category ID filter\
> \- name: Name search keyword (partial match)\
> \- sortType: Sort criteria (ID\_DESC, ID\_ASC, NAME\_ASC, NAME\_DESC, UPDATED\_ASC, UPDATED\_DESC)

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components":{"get":{"tags":["Component"],"summary":"Get Component List","description":"Retrieves the enterprise's component list with pagination.\n\n### Pagination\n- Offset-based paging (starts from 0)\n- limit: page size (min 1, max 100)\n- Check existence of the next page using hasNext in the response\n\n### Filter Conditions\n- categoryId: Category ID filter\n- name: Name search keyword (partial match)\n- sortType: Sort criteria (ID_DESC, ID_ASC, NAME_ASC, NAME_DESC, UPDATED_ASC, UPDATED_DESC)","operationId":"searchComponents","parameters":[{"name":"offset","in":"query","description":"Page number (starts from 0, offset paging)","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"Page size (min: 1, max: 100)","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"categoryId","in":"query","description":"Category ID","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Name search keyword","required":false,"schema":{"type":"string"}},{"name":"sortType","in":"query","description":"Sort Criteria","required":false,"schema":{"type":"string","default":"ID_DESC","description":"Sort Type","enum":["ID_DESC","ID_ASC","NAME_ASC","NAME_DESC","UPDATED_ASC","UPDATED_DESC"]}}],"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponsePageResponseComponentListItem"}}}}}}}}}
```

## Create Component

> Creates a new component.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components":{"post":{"tags":["Component"],"summary":"Create Component","description":"Creates a new component.","operationId":"createComponent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentCreateRequest"}}},"required":true},"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseComponentDetailResponse"}}}}}}}}}
```

## Upload Component Assets

> Uploads assets for a component.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}/assets":{"post":{"tags":["Component"],"summary":"Upload Component Assets","description":"Uploads assets for a component.","operationId":"uploadComponentAssets","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"assetType":{"type":"string","description":"Component asset type","enum":["PREVIEW_IMAGE","IMAGE","HD_VIEWER","DXF","AR_IOS","AR_ANDROID"]},"files":{"type":"array","description":"File list","items":{"type":"string","format":"binary"}}},"required":["assetType","files"]}}}},"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseAssetUploadResponse"}}}}}}}}}
```

## Get Single Component

> Retrieves component and modeling information by ID.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}":{"get":{"tags":["Component"],"summary":"Get Single Component","description":"Retrieves component and modeling information by ID.","operationId":"getComponent","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseComponentDetailResponse"}}}}}}}}}
```

## Modify Component Basic Information

> Modifies the basic information of a component.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}":{"patch":{"tags":["Component"],"summary":"Modify Component Basic Information","description":"Modifies the basic information of a component.","operationId":"updateComponent","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentUpdateRequest"}}},"required":true},"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseUnit"}}}}}}}}}
```

## Modify Component Modeling

> Modifies the modeling information connected to the component.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}/modeling":{"patch":{"tags":["Component"],"summary":"Modify Component Modeling","description":"Modifies the modeling information connected to the component.","operationId":"updateComponentModeling","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentUpdateModelingRequest"}}},"required":true},"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseUnit"}}}}}}}}}
```

## Modify Component Editor Settings

> Modifies the editor settings of a component.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}/editor":{"patch":{"tags":["Component"],"summary":"Modify Component Editor Settings","description":"Modifies the editor settings of a component.","operationId":"updateComponentEditor","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentUpdateEditorRequest"}}},"required":true},"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseUnit"}}}}}}}}}
```

## Get Component BOM

> Retrieves the flat BOM structure of a component by ID.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"Component"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[{"open-api-key":[]}],"paths":{"/api/v1/components/{id}/bom":{"get":{"tags":["Component"],"summary":"Get Component BOM","description":"Retrieves the flat BOM structure of a component by ID.","operationId":"getComponentFlatBom","parameters":[{"name":"id","in":"path","description":"Component ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"All responses return 200 (including success and failure) (5xx is exposed only in error conditions)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseFlatBomResponse"}}}}}}}}}
```
