"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from gsmservice_gateway.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class ErrorResponseTypedDict(TypedDict):
    r"""An object that complies with RFC 9457 containing information about a request error"""

    type: NotRequired[str]
    r"""A URI reference that identifies the problem type"""
    status: NotRequired[int]
    r"""The HTTP status code generated by the origin server for this occurrence of the problem"""
    title: NotRequired[str]
    r"""A short, human-readable summary of the problem type"""
    detail: NotRequired[str]
    r"""A human-readable explanation specific to this occurrence of the problem"""
    code: NotRequired[str]
    r"""An API specific error code aiding the provider team understand the error based on their own potential taxonomy or registry"""
    instance: NotRequired[str]
    r"""A URI reference that identifies the specific occurrence of the problem"""


class ErrorResponse(BaseModel):
    r"""An object that complies with RFC 9457 containing information about a request error"""

    type: Optional[str] = None
    r"""A URI reference that identifies the problem type"""

    status: Optional[int] = None
    r"""The HTTP status code generated by the origin server for this occurrence of the problem"""

    title: Optional[str] = None
    r"""A short, human-readable summary of the problem type"""

    detail: Optional[str] = None
    r"""A human-readable explanation specific to this occurrence of the problem"""

    code: Optional[str] = None
    r"""An API specific error code aiding the provider team understand the error based on their own potential taxonomy or registry"""

    instance: Optional[str] = None
    r"""A URI reference that identifies the specific occurrence of the problem"""
