Authorization

Individual Token service

POST
/api-gw/oauth/individual-token-v2

Authentication endpoint for individual app registrations. Use this flow when your app authenticates only your own Tradejini account — no browser redirect required.

Submit your account password and a 2FA value to receive an access token valid for 24 hours.

Prerequisite: Create an app in the Apps Section to obtain your alphanumeric API key. Pass it as Bearer <api_key> in the Authorization header of this request.

2FA types:

  • otp — One-time password sent via SMS/email. Generate it from the CubePlus web app under the 2FA page.
  • totp — Time-based OTP from an authenticator app (e.g. Google Authenticator, Authy). Set up via Settings → Security → scan the QR code in the CubePlus web app.

Token expiry: Tokens expire after 24 hours. An expired token returns 401 Unauthorized — re-call this endpoint with fresh credentials.

Rate limit: 3 requests/second per IP.

Header Parameters

Authorization*string

Your app API key in the following format:

Bearer <api_key>

The api_key is the alphanumeric key from your app registration in the Apps Section. This endpoint exchanges it for an access_token.

Request Body

application/x-www-form-urlencoded

Enter parameter for login

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api-gw/oauth/individual-token-v2" \  -H "Authorization: Bearer <api Key>" \  -H "Content-Type: application/x-www-form-urlencoded" \  -d 'password=yourpassword&twoFa=123456&twoFaTyp=totp'
{
  "access_token": "eyJhbGciOiJSUzI1NiJ9...",
  "token_type": "bearer",
  "expires_in": 86400,
  "scope": "general"
}
{
  "s": "error",
  "msg": "Input validation failed. Kindly check your input contains required fields for the request"
}
{
  "s": "error",
  "msg": "Unauthorized"
}
{
  "s": "error",
  "msg": "Too many requests"
}
{
  "s": "error",
  "msg": "Internal server error"
}