GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

    • Node.js

    • Python

      • Installation and Usage
      • Authentication Module

        • Login

          • Login with Account Password
          • Login with Username Password
          • Login with Phone Password
          • Login with Email Password
          • Login with Email Passcode
          • Login with Phone Passcode
          • Login with LDAP Account
          • Login with AD Account
          • Login with User Credentials
          • Login with Mobile Social Login
          • Get Alipay AuthInfo
          • Generate QR Code for Login
          • Check QR Code Status
          • Exchange TokenSet with QR Code Ticket
          • Custom APP QR Code Login: Change QR Code Status on APP Side
        • Logout

        • Register

        • User Profile

        • Account Binding

        • MFA Factor Management

        • User Related Resources

        • Message Service

        • WeChat Related APIs

        • Others

        • OIDC Module
        • OAuth Module
        • SAML Module
        • CAS Module
        • Events
      • Management Module

  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Python
  6. /
  7. Authentication Module

  8. /
  9. Login

  10. /
  11. Check QR Code Status

¶ Query QR code status

Update time: 2025-07-23 07:34:21
Edit

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on https://api-explorer.genauth.ai V3 API, and is consistent with API parameters and return results. If the document description is incorrect, please refer to V3 API.

According to the user scanning order, there are six states: not scanned, scanned and waiting for user confirmation, user consent/cancel authorization, QR code expired, and unknown error. The front end should give users different feedback through different states. You can learn the detailed process of scanning code login through the following article: https://docs.genauth.ai/concepts/how-qrcode-works.html.

¶ Method name

AuthenticationClient.check_qr_code_status

¶ Request parameters

NameType
Is it required
Default value
Description
Sample value
qrcodeIdstringYes-QR code unique ID

¶ Request response

Type: CheckQRCodeStatusRespDto

NameTypeDescription
statusCodenumberBusiness status code, which can be used to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegmented error code, which can be used to get the specific error type (successful requests are not returned). For a detailed list of error codes, see: API Code List (opens new window)
requestIdstringRequest ID. Returned when the request fails.
dataCheckQRCodeStatusDataDtoResponse data

Sample result:

{
"statusCode": 200,
"message": "Operation successful",
"requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
"data": {
"status": "PENDING",
"briefUserInfo": "Returned when the QR code status is scanned, authorized, or deauthorized. If "Web polling interface returns complete user information" is not enabled in the console Application Security - General Security - Login Security - APP Scan Code Login Web Security (it is disabled by default), the interface will only return the user's avatar and display name. The front end can render the user's nickname and avatar based on this, giving the user a prompt that the code has been successfully scanned. ",
"tokenSet": {
"scope": "openid profile",
"access_token": "eyJhbGciOiJSxxxxx",
"id_token": "eyJhbGxxxx",
"refresh_token": "WPsGJbvpBjqXz6IJIr1UHKyrdVF",
"token_type": "bearer",
"expire_in": 7200
}
}
}

¶ Data structure

¶ CheckQRCodeStatusDataDto

NameType
Is it required
Description
Sample value
statusstringYesQR code status. According to the order in which the user scans the code, there are six states: PENDING (not scanned), SCANNED (scanned and waiting for user confirmation), AUTHORIZED (user authorized), CANCELLED (cancelled authorization), EXPIRED (QR code expired), and ERROR (unknown error).PENDING
ticketstringNoReturned when the QR code status is authorized. If "Web polling interface returns complete user information" is not enabled in the console Application Security - General Security - Login Security - APP Scan Code Login Web Security (disabled by default), this ticket will be returned to exchange for complete user information.
briefUserInfoNoNested type: QRCodeStatusBriefUserInfoDto.Returned when the QR code status is scanned, authorized, or canceled. If "Web polling interface returns complete user information" is not enabled in Console Application Security - General Security - Login Security - APP Scan Code Login Web Security (off by default), the interface will only return the user's avatar and display name. The front end can render the user's nickname and avatar based on this and give the user a prompt that the code has been successfully scanned.
tokenSetNoThis data will only be returned when the QR code status is authorized and the "Web polling interface returns complete user information" switch is enabled in Console Application Security - General Security - Login Security - APP Scan Code Login Web Security (off by default). It is recommended to use ticket to exchange for user information. Nested type: LoginTokenResponseDataDto.

¶ QRCodeStatusBriefUserInfoDto

NameType
Is it required?
Description
Sample value
displayNamestringYesUser display nickname
photostringYesUser avatar

¶ LoginTokenResponseDataDto

NameType
Is it required?
Description
Sample value
scopestringnoScope corresponding to access_tokenopenid profile
access_tokenstringnoAPI call credentials, authorized to access resource API within a limited timeeyJhbGciOiJSxxxxx
id_tokenstringnoUser's identity credentials, which will contain user information after parsingeyJhbGxxxx
refresh_tokenstringnorefresh_token is used to obtain a new AccessTokenWPsGJbvpBjqXz6IJIr1UHKyrdVF
token_typestringyesToken typebearer
expire_innumberyesExpiration time in seconds7200
Previous article: Generate QR Code for Login Next article: Exchange TokenSet with QR Code Ticket
  • Method name
  • Request parameters
  • Request response
  • Data structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.