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

import datetime as dt
import typing

import typing_extensions
from ..types.doc_digitization_job_state import DocDigitizationJobState
from ..types.storage_container_type import StorageContainerType
from .doc_digitization_job_detail import DocDigitizationJobDetailParams


class DocDigitizationJobStatusResponseParams(typing_extensions.TypedDict):
    """
    Response model for job status endpoint.
    """

    job_id: str
    """
    Job identifier (UUID)
    """

    job_state: DocDigitizationJobState
    """
    Current job state
    """

    created_at: dt.datetime
    """
    Job creation timestamp (ISO 8601)
    """

    updated_at: dt.datetime
    """
    Last update timestamp (ISO 8601)
    """

    storage_container_type: StorageContainerType
    """
    Storage backend type
    """

    total_files: typing_extensions.NotRequired[int]
    """
    Total input files (always 1)
    """

    successful_files_count: typing_extensions.NotRequired[int]
    """
    Files that completed successfully
    """

    failed_files_count: typing_extensions.NotRequired[int]
    """
    Files that failed
    """

    error_message: typing_extensions.NotRequired[str]
    """
    Job-level error message
    """

    job_details: typing_extensions.NotRequired[typing.Sequence[DocDigitizationJobDetailParams]]
    """
    Per-file processing details with page metrics
    """
