POST
Login
Creates a short-lived (1 hour) access token for use with the API. Requires a verified email address. BitGo doesn't recommend using this endpoint for scripting. Instead, use the SDK or the web UI to create long-lived access tokens. However, short-lived access tokens are the only access tokens with the "user_manage" scope that enables you to programmatically add users to your enterprise using the Add User to Enterprise endpoint.
Body Params
object
-
emailstring email requiredThe verified email address of the user -
extensibleboolean"true" if the session is extensible beyond a one-hour duration -
otpstring requiredSecond factor authentication token. -
passwordstring required
Responses
200
OK
Response Body
object
-
access_tokenstring -
derivationPathstring -
encryptedECDHXprvstring -
encryptedTokenstring -
expires_atnumber requiredUnix timestamp -
expires_innumber required -
noECDHKeychainboolean -
scopearray of strings required -
token_idstringThe public ID of the access token — used as the bearer token for v4 auth -
token_typestring required -
grant_typestring enum requiredRepresents the login method that was usedpasswordpasskeyrefresh_tokenauthorization_codeoauth -
userobject requiredFields that will always be populated in accordance with the defined codec If you find other fields that will provably always be populated on a given user (even for legacy users created long ago), that field can be moved to UserRequiredFieldsuser object
-
agreementsobject requiredThe agreements the user has acceptedagreements object
-
patriotActnumber required -
termsOfUsenumber required -
patriotActAcceptanceDatestring date-time -
termsOfUseAcceptanceDatestring date-time
-
-
allowedCoinsarray of strings required -
bitgoEmployeeboolean requiredWhether the user is a BitGo employee -
currencyobject requiredThe user's preferred currencycurrency object
-
bitcoinUnitstring required -
currencystring required
-
-
disableReset2FAboolean requiredWhether the user has disabled 2FA reset -
organizationsarray of objects requiredorganizations object
-
permissionsarray of string enums requiredadmin -
rolestring enum requiredserviceUseradminmembercustomer -
idstring -
namestring
-
-
featureFlagsarray of strings required -
forceResetPasswordboolean requiredWhether the user has forced a password reset -
identityobject requiredThe user's identity informationidentity object
-
kycobjectkyc object
-
availableboolean required -
requiredboolean required -
dataobjectdata object
-
statestring enum requiredunverifiedpendingapprovedrejectedqrscannedinreviewflaggedflagged_retry_allowed -
fieldsmap of objects nullablefields object
-
<key>object
-
-
-
documentsobjectdocuments object
-
statestring enum requiredunverifiedpendingapprovedrejectedqrscannedinreviewflaggedflagged_retry_allowed
-
-
failureCountnumber -
fullyRequiredboolean -
hasVideoIDboolean -
overallStatestring enumunverifiedpendingapprovedrejectedqrscannedinreviewflaggedflagged_retry_allowed -
passportobjectpassport object
-
requiredboolean required -
statestring enumunverifiedpendingapprovedrejectedqrscannedinreviewflaggedflagged_retry_allowed
-
-
residencyobjectresidency object
-
statestring enum requiredunverifiedpendingapprovedrejectedqrscannedinreviewflaggedflagged_retry_allowed
-
-
ongoingScreeningobjectongoingScreening object
-
statestring enum requiredapprovedrejected
-
-
isScreeningRequiredboolean -
documentsWaivedboolean -
unverifiedPaygoUserboolean -
enterpriseVideoCallInfoarray of objectsenterpriseVideoCallInfo object
-
enterpriseIdstring required -
videoCallIdstring required
-
-
enhancedVerificationLevelstring enumL0L1L2L3
-
-
verifiedbooleanWhether the user is verified
-
-
otpDevicesarray of objects requiredotpDevices object
-
createDatestring date-time required -
idstring required -
backupPhonestring -
labelstring -
lastValidatedDatestring date-time -
phonestring -
registeredKeyobjectregisteredKey object
-
certificatestring -
keyHandlestring -
publicKeystring
-
-
typestring enumauthytotpu2fwebauthnyubikey -
verifiedboolean -
scopesarray of string enumswallet_hot -
extensionsmap of booleansextensions object
-
<key>boolean
-
-
prfSaltstring -
isPasskeyboolean -
credentialIdstring
-
-
phoneobject requiredThe user's phone numberphone object
-
phonestring nullable required -
verifiedboolean required
-
-
timezonestring requiredThe user's timezone -
appsobjectThe apps the user has access to -
countrystringThe country of the user -
ecdhKeychainstring nullableThe user's ECDH keychain -
isActivebooleanWhether the user is active -
isFrozenbooleanWhether the user is frozen -
freezeReasonstringThe reason the user is frozen if they are frozen -
freezeobjectFreeze object that will hold the start time and expiration time of a user's freeze. By default the freeze is infinite, and this field will eventually override the isFrozen boolean fieldfreeze object
-
timestring date-time -
expiresstring date-time
-
-
lastLoginstring date-timeThe last login time of the user -
localestringThe user's locale -
pgpKeystringThe user's PGP key -
rateLimitsobjectThe rate limits applied to the user -
referrerobjectThe referrer of the userreferrer object
-
campaignstring nullable -
sourcestring nullable
-
-
signupDomainstringThe signup domain of the user -
statestringThe state of the user -
sourceVerificationRequiredbooleanWhether source verification is required for the user -
sourceVerificationRequiredForReadOnlyAccessbooleanWhether source verification is required for read-only access -
recoveryCodeSetobjectThe recovery code set for the userrecoveryCodeSet object
-
idstring requiredThe ID of the recovery code set -
allCodesUsedboolean requiredWhether all recovery codes have been used
-
-
createTimestring -
passwordUpdatedAtstring date-time -
idstring requiredThe unique identifier for the user -
usernamestring email requiredThe username of the user -
nameobject requiredThe name of the username object
-
firststring required -
fullstring required -
laststring required
-
-
enterprisesarray of objects requiredenterprises object
-
permissionsarray of string enums requiredadminauditorwallet.create -
idstring -
beneficialOwnerboolean -
primaryContactstring -
kycStatestring enumunverifiedapprovedrejectedpendingqrscannedinreviewflaggedflagged_retry_allowed -
bitgoOrgstring -
namestring -
videoIdStatestring -
videoIdLinkstring
-
-
emailobject requiredThe email address of the useremail object
-
emailstring email required -
verifiedboolean required
-
-
-
warningstring -
sourceVerificationTypestringHow the request source was verified during login. -
twoFactorMethodstringThe two-factor authentication method used during login. -
ssoProviderstringThe SSO provider used for login, when applicable.
400
Bad Request
Response Body
object
-
namestringError code -
contextmap of objects requiredProperties that apply to a specific error namecontext object
-
<key>object
-
-
errorstring requiredHuman-readable error message -
requestIdstring requiredClient request id
401
Unauthorized
Response Body
object
-
namestringError code -
contextmap of objects requiredProperties that apply to a specific error namecontext object
-
<key>object
-
-
errorstring requiredHuman-readable error message -
requestIdstring requiredClient request id