> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blinkops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Preauth

Run to discover whether a user is authorized to log in, and if so, return the user's available authentication factors.

> [!NOTE]
>
> External Documentation
>
> To learn more, visit the [Duo Auth documentation](https://duo.com/docs/authapi#/preauth).

## Basic Parameters

| Parameter | Description |
| - | - |
| User ID | The unique identifier for the user as generated by `Duo` upon user creation.  Can be obtained by the `List Users` action in the Duo collection. `Important To Note:` The `Duo` collection has a separate connection that requires Admin API Credentials. Please follow [our Duo documentation](https://docs.blinkops.com/docs/integrations/duo.md) to obtain them. |
| User Info Type | Choose the user's information to provide. You must specify either the user ID or the username. |
| Username | The Unique username that is commonly specified during user creation. This value may also represent a username alias assigned to a user.  Can be obtained by the `List Users` action in the Duo collection. `Important To Note:` The `Duo` collection has a separate connection that requires Admin API Credentials. Please follow [our Duo documentation](https://docs.blinkops.com/docs/integrations/duo.md) to obtain them. |

## Advanced Parameters

| Parameter | Description |
| - | - |
| Client Supports Verified Push | Set this parameter to **1** if your client supports `Verified Duo Push`, allowing it as an authentication method when required.  If **not provided** or set to **0**, `Verified Duo Push` will be ignored, and the `Require Verified Duo Push` policy will be bypassed. For additional information regarding this parameter, please visit [Duo's documentation](https://duo.com/docs/authapi#/preauth). |
| Hostname | The host name of the device accessing the application. |
| IP Address | The IP address of the user to be authenticated.  If an Auth API client does not send the ipaddr value in a request, policy settings based on available IP address information, like authorized networks or user location have no effect. |
| Trusted Device Token | Return an "allow" response for the lifetime of the `trusted_device_token`, if the token is present and the policy enables `Remembered Devices` for browser-based applications. |

## Example Output

```json theme={"dark"}
{
	"stat": "OK",
	"response": {
		"devices": [
			{
				"capabilities": [
					"auto",
					"push",
					"sms",
					"phone",
					"mobile_otp"
				],
				"device": "DPFZRS9FB0D46QFTM891",
				"display_name": "iOS (XXX-XXX-0100)",
				"name": "",
				"number": "XXX-XXX-0100",
				"type": "phone"
			},
			{
				"device": "DHEKH0JJIYC1LX3AZWO4",
				"name": "0",
				"type": "token"
			}
		],
		"result": "auth",
		"status_msg": "Account is active"
	}
}
```
