{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "LoginAccountParams",
  "oneOf": [
    {
      "type": "object",
      "required": [
        "apiKey",
        "type"
      ],
      "properties": {
        "apiKey": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "apiKey"
          ],
          "title": "ApiKeyv2::LoginAccountParamsType"
        }
      },
      "title": "ApiKeyv2::LoginAccountParams"
    },
    {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "chatgpt"
          ],
          "title": "Chatgptv2::LoginAccountParamsType"
        }
      },
      "title": "Chatgptv2::LoginAccountParams"
    },
    {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "chatgptDeviceCode"
          ],
          "title": "ChatgptDeviceCodev2::LoginAccountParamsType"
        }
      },
      "title": "ChatgptDeviceCodev2::LoginAccountParams"
    },
    {
      "description": "[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE. The access token must contain the same scopes that Codex-managed ChatGPT auth tokens have.",
      "type": "object",
      "required": [
        "accessToken",
        "chatgptAccountId",
        "type"
      ],
      "properties": {
        "accessToken": {
          "description": "Access token (JWT) supplied by the client. This token is used for backend API requests and email extraction.",
          "type": "string"
        },
        "chatgptAccountId": {
          "description": "Workspace/account identifier supplied by the client.",
          "type": "string"
        },
        "chatgptPlanType": {
          "description": "Optional plan type supplied by the client.\n\nWhen `null`, Codex attempts to derive the plan type from access-token claims. If unavailable, the plan defaults to `unknown`.",
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "chatgptAuthTokens"
          ],
          "title": "ChatgptAuthTokensv2::LoginAccountParamsType"
        }
      },
      "title": "ChatgptAuthTokensv2::LoginAccountParams"
    }
  ]
}