## Start device verification `$client->app->verifications->create(?Purpose purpose, ?string userID): VerificationNewResponse` **post** `/v1/app/setup/verifications` Start verifying this device from another signed-in device. ### Parameters - `purpose?:optional Purpose` Why this verification is being started. - `userID?:optional string` Beeper user ID to verify. Defaults to the signed-in user. ### Returns - `VerificationNewResponse` - `Session session` Current app sign-in and encrypted messaging setup state. - `?Verification verification` Trusted device verification progress. ### Example ```php app->verifications->create( purpose: 'login', userID: 'userID' ); var_dump($verification); ``` #### Response ```json { "session": { "e2ee": { "crossSigning": true, "firstSyncDone": true, "hasBackedUpRecoveryKey": true, "initialized": true, "keyBackup": true, "secrets": { "masterKey": true, "megolmBackupKey": true, "recoveryKey": true, "selfSigningKey": true, "userSigningKey": true }, "secretStorage": true, "verified": true, "recoveryKeyGeneratedAt": 0 }, "state": "needs-login", "matrix": { "deviceID": "deviceID", "homeserver": "homeserver", "userID": "userID" }, "verification": { "id": "id", "availableActions": [ "accept" ], "direction": "incoming", "methods": [ "qr" ], "purpose": "login", "state": "requested", "error": { "code": "code", "reason": "reason" }, "otherDevice": { "id": "id", "name": "name" }, "otherUserID": "otherUserID", "qr": { "data": "data" }, "sas": { "emojis": "emojis", "decimals": "decimals" } } }, "verification": { "id": "id", "availableActions": [ "accept" ], "direction": "incoming", "methods": [ "qr" ], "purpose": "login", "state": "requested", "error": { "code": "code", "reason": "reason" }, "otherDevice": { "id": "id", "name": "name" }, "otherUserID": "otherUserID", "qr": { "data": "data" }, "sas": { "emojis": "emojis", "decimals": "decimals" } } } ```