{
  "opencollection": "1.0.0",
  "info": {
    "name": "Firstrade Unofficial Account Authentication API",
    "version": "0.1.0"
  },
  "items": [
    {
      "info": {
        "name": "Authentication",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Initialise session",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api3x.firstrade.com/"
          },
          "docs": "Fetches the API root to establish an initial session and receive the ftat token that must accompany subsequent requests."
        },
        {
          "info": {
            "name": "Login to Firstrade",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api3x.firstrade.com/sess/login",
            "body": {
              "type": "form-urlencoded",
              "data": [
                {
                  "name": "username",
                  "value": ""
                },
                {
                  "name": "password",
                  "value": ""
                }
              ]
            }
          },
          "docs": "Authenticates a user with username and password. On success returns a session ID (sid) and optionally an ftat cookie. When MFA is required the response includes a t_token and mfa/otp details."
        },
        {
          "info": {
            "name": "Request OTP code via email or SMS",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api3x.firstrade.com/sess/request_code",
            "body": {
              "type": "form-urlencoded",
              "data": [
                {
                  "name": "recipientId",
                  "value": ""
                },
                {
                  "name": "t_token",
                  "value": ""
                }
              ]
            }
          },
          "docs": "Triggers delivery of a one-time passcode to the user's registered email or phone number. Used when email/phone MFA is required."
        },
        {
          "info": {
            "name": "Verify MFA code or PIN",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api3x.firstrade.com/sess/verify_pin",
            "body": {
              "type": "form-urlencoded",
              "data": [
                {
                  "name": "pin",
                  "value": ""
                },
                {
                  "name": "mfaCode",
                  "value": ""
                },
                {
                  "name": "otpCode",
                  "value": ""
                },
                {
                  "name": "verificationSid",
                  "value": ""
                },
                {
                  "name": "t_token",
                  "value": ""
                },
                {
                  "name": "remember_for",
                  "value": ""
                }
              ]
            }
          },
          "docs": "Submits an MFA code (TOTP, PIN, or OTP) to complete authentication. On success returns ftat and sid tokens."
        }
      ]
    }
  ],
  "bundled": true
}