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

import typing

import typing_extensions
from ..types.channel_status import ChannelStatus
from .reference import ReferenceParams


class ChannelParams(typing_extensions.TypedDict):
    id: typing_extensions.NotRequired[str]
    """
    The channel's unique ID.
    """

    merchant_id: typing_extensions.NotRequired[str]
    """
    The unique ID of the merchant this channel belongs to.
    """

    name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The name of the channel.
    """

    version: typing_extensions.NotRequired[int]
    """
    The version number which is incremented each time an update is made to the channel.
    """

    reference: typing_extensions.NotRequired[ReferenceParams]
    """
    Represents an entity the channel is associated with.
    """

    status: typing_extensions.NotRequired[ChannelStatus]
    """
    Status of the channel.
    See [Status](#type-status) for possible values
    """

    created_at: typing_extensions.NotRequired[str]
    """
    The timestamp for when the channel was created, in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
    For more information, see [Working with Dates](https://developer.squareup.com/docs/build-basics/working-with-dates).
    """

    updated_at: typing_extensions.NotRequired[str]
    """
    The timestamp for when the channel was last updated, in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
    For more information, see [Working with Dates](https://developer.squareup.com/docs/build-basics/working-with-dates).
    """
