> ## 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 по дате/периоду

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

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

## Параметры

* `project_id` (int, path, **обязательный**) - ID проекта
* `date_from` (date, query, **опциональный**) - Дата начала периода (YYYY-MM-DD)
* `date_to` (date, query, **опциональный**) - Дата окончания периода (YYYY-MM-DD)
* `page` (int, query, **опциональный**) - Номер страницы для пагинации
* `per_page` (int, query, **опциональный**) - Количество элементов на странице

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

### Пример 1: Получение всех item\_set проекта

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

### Пример 2: Фильтр с определенной даты

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

### Пример 3: Фильтр до определенной даты

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

### Пример 4: Фильтр по периоду

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&date_to=2024-01-20" \
  -H "API-Access-Key: your access key"
```

### Пример 5: С пагинацией и фильтром по дате

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&page=1&per_page=5" \
  -H "API-Access-Key: your access key"
```

### Пример 6: За конкретный день

```bash theme={null}
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&date_to=2024-01-15" \
  -H "API-Access-Key: your access key"
```

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

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

## Логика фильтрации по дате

* Если указан только `date_from` - возвращаются item\_set с этой даты и позже
* Если указан только `date_to` - возвращаются item\_set до этой даты включительно
* Если указаны оба параметра - возвращаются item\_set в указанном диапазоне
* Если параметры не указаны - возвращаются все 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/by-date"

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

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

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

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

#### Ошибка валидации даты:

```bash theme={null}
# Неверный формат даты
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=invalid-date" \
  -H "API-Access-Key: your access key"

# Ответ:
# HTTP/1.1 422 Unprocessable Entity
{
  "detail": [
    {
      "loc": ["query", "date_from"],
      "msg": "invalid date format",
      "type": "value_error.date"
    }
  ]
}
```


## OpenAPI

````yaml GET /client/project/{project_id}/item-sets/by-date
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/by-date:
    get:
      description: Получение списка item_set, созданных в указанную дату или за период
      parameters:
        - name: project_id
          in: path
          required: true
          description: ID проекта
          schema:
            type: integer
        - name: date_from
          in: query
          required: false
          description: Дата начала периода (YYYY-MM-DD)
          schema:
            type: string
            format: date
        - name: date_to
          in: query
          required: false
          description: Дата окончания периода (YYYY-MM-DD)
          schema:
            type: string
            format: date
        - 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
      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
        '422':
          description: Unprocessable Entity - Неверный формат даты в параметрах
          content:
            application/json:
              example:
                detail: Invalid date format
        '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)

````