---
title: "컴포넌트 목록 조회"
method: GET
path: "/api/v1/components"
tags: ["컴포넌트"]
---

# 컴포넌트 목록 조회

`GET /api/v1/components`

엔터프라이즈의 컴포넌트 목록을 페이지네이션으로 조회합니다.

### 페이지네이션
- offset 기반 페이징 (0부터 시작)
- limit: 페이지 크기 (최소 1, 최대 100)
- 응답의 hasNext로 다음 페이지 존재 여부 확인

### 필터 조건
- categoryId: 카테고리 ID 필터
- name: 이름 검색어 (부분 일치)
- sortType: 정렬 기준 (ID_DESC, ID_ASC, NAME_ASC, NAME_DESC, UPDATED_ASC, UPDATED_DESC)

## Query parameters

- `offset` integer, required
- `limit` integer, required
- `categoryId` string
- `name` string
- `sortType` 'ID_DESC' | 'ID_ASC' | 'NAME_ASC' | 'NAME_DESC' | 'UPDATED_ASC' | 'UPDATED_DESC' — 정렬 타입

## Response `200`

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

- ApiResponsePageResponseComponentListItem
  - `result` 'SUCCESS' | 'FAIL', required — 응답 결과 타입
  - `data` PageResponseComponentListItem
    - `content` ComponentListItem[], required — 콘텐츠 목록
      - `id` string, required — 컴포넌트 ID
      - `name` string, required — 이름
      - `translatedNames` ComponentTranslatedName[], required — 다국어 이름
        - `code` string, required — 언어 코드
        - `value` string, required — 번역된 이름
      - `code` string — 코드
      - `sku` string — SKU
      - `brand` string — 브랜드
      - `color` ComponentColor
        - `code` string, required — 색상 코드
        - `name` string, required — 색상 이름
      - `retailPrice` ComponentPrice
        - `value` number, required — 가격
        - `unit` 'KRW' | 'USD' | 'EUR' | 'JPY' | 'GBP' | 'CNY' | 'VND' | 'TWD', required — 통화 단위
      - `factoryPrice` ComponentPrice
        - `value` number, required — 가격
        - `unit` 'KRW' | 'USD' | 'EUR' | 'JPY' | 'GBP' | 'CNY' | 'VND' | 'TWD', required — 통화 단위
      - `mainMaterial` string — 주재료
      - `subMaterial` string — 부재료
      - `dimension` ComponentDimension, required
        - `mmWidth` number, required — mm 너비
        - `mmDepth` number, required — mm 깊이
        - `mmHeight` number, required — mm 높이
        - `inchWidth` number, required — 인치 너비
        - `inchDepth` number, required — 인치 깊이
        - `inchHeight` number, required — 인치 높이
      - `previewImage` string — 대표 이미지 URL
      - `showInEditor` boolean, required — 에디터 노출 여부
      - `usageInEditor` string, required — 에디터 사용 용도
      - `createdAt` string, date-time, required — 생성일시
      - `updatedAt` string, date-time, required — 수정일시
    - `hasNext` boolean, required — 다음 페이지 존재 여부
    - `totalCount` integer, required — 전체 개수
  - `error` ErrorMessage
    - `errorCode` 'INTERNAL_ERROR' | 'BAD_REQUEST' | 'NOT_FOUND' | 'CONFLICT' | 'FORBIDDEN' — 에러 코드
    - `message` string — 에러 메시지

---

[API](https://skmtc.dev/archisketch/apis/open-api.md) · [All operations](https://skmtc.dev/archisketch/apis/open-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/archisketch/open-api/revisions/f6b0eda1a99d/schema)
