# This file was auto-generated by Fern from our API Definition.

from ..core.unchecked_base_model import UncheckedBaseModel
import typing
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2


class CatalogInfoResponseLimits(UncheckedBaseModel):
    batch_upsert_max_objects_per_batch: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of objects that may appear within a single batch in a
    `/v2/catalog/batch-upsert` request.
    """

    batch_upsert_max_total_objects: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of objects that may appear across all batches in a
    `/v2/catalog/batch-upsert` request.
    """

    batch_retrieve_max_object_ids: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of object IDs that may appear in a `/v2/catalog/batch-retrieve`
    request.
    """

    search_max_page_limit: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of results that may be returned in a page of a
    `/v2/catalog/search` response.
    """

    batch_delete_max_object_ids: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of object IDs that may be included in a single
    `/v2/catalog/batch-delete` request.
    """

    update_item_taxes_max_item_ids: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of item IDs that may be included in a single
    `/v2/catalog/update-item-taxes` request.
    """

    update_item_taxes_max_taxes_to_enable: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of tax IDs to be enabled that may be included in a single
    `/v2/catalog/update-item-taxes` request.
    """

    update_item_taxes_max_taxes_to_disable: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of tax IDs to be disabled that may be included in a single
    `/v2/catalog/update-item-taxes` request.
    """

    update_item_modifier_lists_max_item_ids: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of item IDs that may be included in a single
    `/v2/catalog/update-item-modifier-lists` request.
    """

    update_item_modifier_lists_max_modifier_lists_to_enable: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of modifier list IDs to be enabled that may be included in
    a single `/v2/catalog/update-item-modifier-lists` request.
    """

    update_item_modifier_lists_max_modifier_lists_to_disable: typing.Optional[int] = pydantic.Field(default=None)
    """
    The maximum number of modifier list IDs to be disabled that may be included in
    a single `/v2/catalog/update-item-modifier-lists` request.
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
