Initiate Login
POST/auth/login-init
Initiate the login sequence for an existing user. Multiple authentication methods are supported.
To initiate login for a new user, use Sign Up. Alternatively, if you'd
like to use login-init
for both new and existing users, use the autoSignup
request body option.
To complete the login flow, use Complete Login.
For more details, see Authentication.
Request
- application/json
Body
required
- algorand-login-request
- xrpl-login-request
- siwe-login-request
oneOf
Possible values: [algorand
]
The login method to use.
Possible values: [algorand-mainnet
, algorand-testnet
]
The blockchain network associated with the web3 address.
ID of the client application created in an Immersve partner profile.
Possible values: [cardholder-partner
]
An array of authorization scopes requested by the client application.
The web3 address to which the challenge is directed.
Possible values: [true
, false
]
If set to true, creates a user account if one does not already exist for the web3 address attempting to log in.
Possible values: [xrpl
]
The login method to use.
Possible values: [xahau-mainnet
, xahau-testnet
]
The blockchain network associated with the web3 address.
ID of the client application created in an Immersve partner profile.
Possible values: [cardholder-partner
]
An array of authorization scopes requested by the client application.
The public key of the web3 address to which the challenge is directed.
Possible values: [true
, false
]
If set to true, creates a user account if one does not already exist for the web3 address attempting to log in.
Possible values: [siwe
]
The login method to use.
Possible values: [polygon-mainnet
, polygon-amoy
, arbitrum-sepolia
, arbitrum-mainnet
]
The blockchain network associated with the web3 address.
For more information on supported networks, see Supported Chains.
ID of the client application created in an Immersve partner profile.
Possible values: [cardholder-partner
]
An array of authorization scopes requested by the client application.
The web3 address to which the challenge is directed.
Domain in the "<domain> wants you to sign in.." of the EIP-4361 is derived from the host fragment of this parameter. The client application identified by clientApplicationId must allow this URL.
Possible values: [true
, false
]
If set to true, creates a user account if one does not already exist for the web3 address attempting to log in.
Responses
- 200
- 403
Successful operation
- application/json
- Schema
- Example (from schema)
Schema
The unique identifier of the login request.
The login method used.
Possible values: [cardholder-login
]
Identifies intention of the user.
The blockchain network associated with the web3 address.
ID of the client application created in an Immersve partner profile.
Possible values: [cardholder-partner
]
An array of authorization scopes requested by the client application.
The date and time the login request was created.
Domain in the "<domain> wants you to sign in.." of the EIP-4361 is derived from the host fragment of this parameter. The client application identified by clientApplicationId must allow this URL.
The web3 address to which the challenge is directed.
signingChallenge
object
The description of the challenge.
The date and time the challenge was created.
The date and time the challenge expires.
The message to be signed by the web3 address owner.
{
"id": "49ae8f3a3928491",
"loginMethod": "algorand",
"mode": "cardholder-login",
"network": "algorand-mainnet",
"clientApplicationId": "29097f50d221858223a17633e36716f9",
"scopes": [
"cardholder-partner"
],
"createdAt": "2024-02-26T08:24:11.047Z",
"url": "https://app.immersve.com",
"address": "0x4d6c3443...",
"signingChallenge": {
"description": "Immersve wants to ...",
"createdAt": "2024-02-26T08:24:11.047Z",
"expiresAt": "2024-03-20T08:20:00Z",
"message": "Immersve wants to ..."
}
}
CLIENT_APPLICATION_DOMAIN_NOT_ALLOWED Client application domain not allowed.
ACCOUNT_DOES_NOT_EXIST Unable to log in. Account does not exist.
- application/json
- Schema
- Example (from schema)
Schema
{
"statusCode": 403,
"statusName": "Forbidden",
"errorCode": "FORBIDDEN",
"reason": "Unauthorized"
}