grant_type selects. No bearer token is needed: send the client_id and client_secret of an OAuth client.password): send the user's username and password. A user with MFA gets a limited token with scope mfa_required, which only Complete MFA accepts.mfa): send that limited access_token with the passcode from the user's authenticator app.refresh_token): send a refresh_token to get a new access token.grant_type also accepts authorization_code, google, office, apple, oidc, masquerade, delegated, guest, and chat_guest.scope is mfa_required, the token is only good for Complete MFA. The response also sets the ns_access_token and ns_refresh_token cookies.curl --location 'https://awqacore01.crexendocloud.com/ns-api/v2/tokens' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_type": "password",
"client_id": "",
"client_secret": "",
"username": "1001@example.com",
"password": "{{user_password}}"
}'{
"username": "1000@example.com",
"user": "1000",
"territory": "example-reseller",
"domain": "example.com",
"site": "Main",
"group": "Main",
"department": "Sales",
"uid": "1000@example.com",
"login": "1000@example.com",
"scope": "Office Manager",
"user_email": "user@example.com",
"displayName": "Front Desk",
"access_token": "{{access_token}}",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "{{refresh_token}}",
"client_id": "{{client_id}}",
"apiversion": "46.0.0"
}