{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getcheapgames-com/json-schema/getcheapgames-com-gcg-routers-steam-account-sign-in-out-schema.json",
  "title": "SignInOut",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getcheapgames-com-steam-api-openapi.yml#/components/schemas/gcg__routers__steam_account__SignInOut",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "signed_in",
        "guard",
        "qr"
      ],
      "title": "State"
    },
    "account": {
      "anyOf": [
        {
          "$ref": "#/$defs/gcg__routers__steam_account__AccountOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "attempt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Attempt"
    },
    "guard": {
      "anyOf": [
        {
          "$ref": "#/$defs/GuardOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "qr": {
      "anyOf": [
        {
          "$ref": "#/$defs/QrOut"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "type": "object",
  "required": [
    "state"
  ],
  "$defs": {
    "GuardOut": {
      "properties": {
        "code": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "app",
                "email"
              ]
            },
            {
              "type": "null"
            }
          ],
          "title": "Code"
        },
        "email_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Email Domain"
        },
        "confirm_in_app": {
          "type": "boolean",
          "title": "Confirm In App"
        },
        "confirm_by_email": {
          "type": "boolean",
          "title": "Confirm By Email"
        }
      },
      "type": "object",
      "required": [
        "code",
        "email_domain",
        "confirm_in_app",
        "confirm_by_email"
      ],
      "title": "GuardOut"
    },
    "QrOut": {
      "properties": {
        "challenge_url": {
          "type": "string",
          "title": "Challenge Url"
        },
        "image": {
          "type": "string",
          "title": "Image"
        }
      },
      "type": "object",
      "required": [
        "challenge_url",
        "image"
      ],
      "title": "QrOut"
    },
    "gcg__routers__steam_account__AccountOut": {
      "properties": {
        "account_name": {
          "type": "string",
          "title": "Account Name"
        },
        "steam_id": {
          "type": "string",
          "title": "Steam Id"
        },
        "signed_in_at": {
          "type": "string",
          "format": "date-time",
          "title": "Signed In At"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "title": "Expires At"
        },
        "logged_on_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Logged On At"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Error"
        }
      },
      "type": "object",
      "required": [
        "account_name",
        "steam_id",
        "signed_in_at",
        "expires_at",
        "logged_on_at",
        "error"
      ],
      "title": "AccountOut"
    }
  }
}