> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spellit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Получение списка item_set по ID проекта

> Получение списка всех item_set для указанного проекта

<Callout emoji="📋">Возвращает список всех item\_set для указанного проекта.</Callout>

## Параметры

* `project_id` (int, path, **обязательный**) - ID проекта
* `page` (int, query, **опциональный**) - Номер страницы для пагинации
* `per_page` (int, query, **опциональный**) - Количество элементов на странице
* `status_filter` (string, query, **опциональный**) - Фильтр по статусу item\_set

## Примеры запросов

### Пример 1: Базовый запрос

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets" \
  -H "API-Access-Key: your access key"
```

### Пример 2: С пагинацией

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets?page=2&per_page=10" \
  -H "API-Access-Key: your access key"
```

### Пример 3: С фильтром по статусу

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets?status_filter=processed" \
  -H "API-Access-Key: your access key"
```

## Возможные ошибки

* `401 Unauthorized` - Отсутствует или неверный токен аутентификации
* `403 Forbidden` - Проект не принадлежит текущему пользователю
* `404 Not Found` - Проект с указанным ID не найден
* `500 Internal Server Error` - Внутренняя ошибка сервера

## Описание полей ответа

* `item_sets` - массив объектов item\_set
  * `id` - уникальный идентификатор item\_set
  * `name` - название item\_set (содержит UUID для уникальности)
  * `created_at` - дата и время создания (ISO 8601)
  * `status` - статус обработки item\_set (added, processing, processed, processing\_failed)
  * `status_within_project` - статус item\_set в рамках проекта (added, all\_items\_processed, processing, processed, processing\_failed)
* `total_count` - общее количество найденных item\_set

## Статусы и их значения

### Статусы item\_set:

* `added` - добавлен, ожидает обработки
* `processing` - в процессе обработки
* `processed` - успешно обработан
* `processing_failed` - ошибка обработки

### Статусы item\_set в рамках проекта:

* `added` - добавлен в проект
* `all_items_processed` - все элементы обработаны
* `processing` - в процессе обработки
* `processed` - полностью обработан
* `processing_failed` - ошибка обработки

## Дополнительные примеры использования

### Примеры обработки ошибок:

#### Ошибка аутентификации:

```bash theme={null}
# Запрос без токена
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets"

# Ответ:
# HTTP/1.1 401 Unauthorized
{
  "detail": "Not authenticated"
}
```

#### Ошибка доступа к проекту:

```bash theme={null}
# Запрос к проекту, к которому нет доступа
curl -X GET "https://api.spellit.ai/api/client/project/999/item-sets" \
  -H "API-Access-Key: your access key"

# Ответ:
# HTTP/1.1 403 Forbidden
{
  "detail": "Project not found or access denied"
}
```


## OpenAPI

````yaml GET /client/project/{project_id}/item-sets
openapi: 3.1.0
info:
  title: SpellIt API
  description: >-
    API для обработки Items через создание проекта, загрузку Item Set и загрузку
    Items
  version: 1.0.0
servers:
  - url: https://api.spellit.ai/api/
security: []
paths:
  /client/project/{project_id}/item-sets:
    get:
      description: Получение списка всех item_set для указанного проекта
      parameters:
        - name: project_id
          in: path
          required: true
          description: ID проекта
          schema:
            type: integer
        - name: page
          in: query
          required: false
          description: Номер страницы для пагинации
          schema:
            type: integer
            default: 1
        - name: per_page
          in: query
          required: false
          description: Количество элементов на странице
          schema:
            type: integer
            default: 10
        - name: status_filter
          in: query
          required: false
          description: Фильтр по статусу item_set
          schema:
            type: string
            enum:
              - added
              - processing
              - processed
              - processing_failed
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                type: object
                properties:
                  item_sets:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Уникальный идентификатор item_set
                        name:
                          type: string
                          description: Название item_set (содержит UUID для уникальности)
                        created_at:
                          type: string
                          format: date-time
                          description: Дата и время создания (ISO 8601)
                        status:
                          type: string
                          enum:
                            - added
                            - processing
                            - processed
                            - processing_failed
                          description: Статус обработки item_set
                        status_within_project:
                          type: string
                          enum:
                            - added
                            - all_items_processed
                            - processing
                            - processed
                            - processing_failed
                          description: Статус item_set в рамках проекта
                  total_count:
                    type: integer
                    description: Общее количество найденных item_set
              example:
                item_sets:
                  - id: 123
                    name: item_set_name_abc123
                    created_at: '2024-01-15T10:30:00Z'
                    status: processed
                    status_within_project: processed
                total_count: 1
        '401':
          description: Unauthorized - Отсутствует или неверный токен аутентификации
          content:
            application/json:
              example:
                detail: Unauthorized
        '403':
          description: Forbidden - Проект не принадлежит текущему пользователю
          content:
            application/json:
              example:
                detail: Forbidden
        '404':
          description: Not Found - Проект с указанным ID не найден
          content:
            application/json:
              example:
                detail: Project not found
        '500':
          description: Internal Server Error - Внутренняя ошибка сервера
          content:
            application/json:
              example:
                detail: Internal server error
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: API-Access-Key
      description: API-ключ для доступа к эндпоинтам
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-токен для авторизации (Bearer Token)

````