## Cancel device verification `client.App.Verifications.Cancel(ctx, verificationID, body) (*AppVerificationCancelResponse, error)` **post** `/v1/app/setup/verifications/{verificationID}/cancel` Cancel an active device verification request. ### Parameters - `verificationID string` Verification ID. - `body AppVerificationCancelParams` - `Code param.Field[string]` Optional cancellation code. - `Reason param.Field[string]` Optional user-facing cancellation reason. ### Returns - `type AppVerificationCancelResponse struct{…}` - `Session AppVerificationCancelResponseSession` Current app sign-in and encrypted messaging setup state. - `E2EE AppVerificationCancelResponseSessionE2EE` Encrypted messaging setup status. - `CrossSigning bool` Whether this account can verify trusted devices. - `FirstSyncDone bool` Whether the first encrypted message sync is complete. - `HasBackedUpRecoveryKey bool` Whether the user confirmed that they saved their recovery key. - `Initialized bool` Whether encrypted messaging setup has started. - `KeyBackup bool` Whether encrypted message backup is available. - `Secrets AppVerificationCancelResponseSessionE2EESecrets` Encrypted messaging keys available on this device. - `MasterKey bool` Whether the account identity key is available. - `MegolmBackupKey bool` Whether the encrypted message backup key is available. - `RecoveryKey bool` Whether a recovery key is available. - `SelfSigningKey bool` Whether the device trust key is available. - `UserSigningKey bool` Whether the user trust key is available. - `SecretStorage bool` Whether secure key storage is available. - `Verified bool` Whether this device is trusted for encrypted messages. - `RecoveryKeyGeneratedAt float64` Unix timestamp for when the recovery key was created. - `State string` Current sign-in and encrypted messaging setup state for Beeper Desktop or Beeper Server. - `const AppVerificationCancelResponseSessionStateNeedsLogin AppVerificationCancelResponseSessionState = "needs-login"` - `const AppVerificationCancelResponseSessionStateInitializing AppVerificationCancelResponseSessionState = "initializing"` - `const AppVerificationCancelResponseSessionStateNeedsCrossSigningSetup AppVerificationCancelResponseSessionState = "needs-cross-signing-setup"` - `const AppVerificationCancelResponseSessionStateNeedsVerification AppVerificationCancelResponseSessionState = "needs-verification"` - `const AppVerificationCancelResponseSessionStateNeedsSecrets AppVerificationCancelResponseSessionState = "needs-secrets"` - `const AppVerificationCancelResponseSessionStateNeedsFirstSync AppVerificationCancelResponseSessionState = "needs-first-sync"` - `const AppVerificationCancelResponseSessionStateReady AppVerificationCancelResponseSessionState = "ready"` - `Matrix AppVerificationCancelResponseSessionMatrix` Signed-in account details. Omitted until sign-in is complete. - `DeviceID string` Current device ID. - `Homeserver string` Beeper homeserver URL for this account. - `UserID string` Signed-in Beeper user ID. - `Verification AppVerificationCancelResponseSessionVerification` Trusted device verification progress. - `ID string` Verification ID to pass in verification action paths. - `AvailableActions []string` Verification actions that are valid for the current state. - `const AppVerificationCancelResponseSessionVerificationAvailableActionAccept AppVerificationCancelResponseSessionVerificationAvailableAction = "accept"` - `const AppVerificationCancelResponseSessionVerificationAvailableActionCancel AppVerificationCancelResponseSessionVerificationAvailableAction = "cancel"` - `const AppVerificationCancelResponseSessionVerificationAvailableActionQrConfirmScanned AppVerificationCancelResponseSessionVerificationAvailableAction = "qr.confirmScanned"` - `const AppVerificationCancelResponseSessionVerificationAvailableActionSASStart AppVerificationCancelResponseSessionVerificationAvailableAction = "sas.start"` - `const AppVerificationCancelResponseSessionVerificationAvailableActionSASConfirm AppVerificationCancelResponseSessionVerificationAvailableAction = "sas.confirm"` - `Direction string` Whether this device started or received the verification. - `const AppVerificationCancelResponseSessionVerificationDirectionIncoming AppVerificationCancelResponseSessionVerificationDirection = "incoming"` - `const AppVerificationCancelResponseSessionVerificationDirectionOutgoing AppVerificationCancelResponseSessionVerificationDirection = "outgoing"` - `Methods []string` Verification methods supported for this transaction. - `const AppVerificationCancelResponseSessionVerificationMethodQr AppVerificationCancelResponseSessionVerificationMethod = "qr"` - `const AppVerificationCancelResponseSessionVerificationMethodSAS AppVerificationCancelResponseSessionVerificationMethod = "sas"` - `Purpose string` Why this verification exists. - `const AppVerificationCancelResponseSessionVerificationPurposeLogin AppVerificationCancelResponseSessionVerificationPurpose = "login"` - `const AppVerificationCancelResponseSessionVerificationPurposeDevice AppVerificationCancelResponseSessionVerificationPurpose = "device"` - `State string` Current trusted-device verification state. - `const AppVerificationCancelResponseSessionVerificationStateRequested AppVerificationCancelResponseSessionVerificationState = "requested"` - `const AppVerificationCancelResponseSessionVerificationStateReady AppVerificationCancelResponseSessionVerificationState = "ready"` - `const AppVerificationCancelResponseSessionVerificationStateSASReady AppVerificationCancelResponseSessionVerificationState = "sas_ready"` - `const AppVerificationCancelResponseSessionVerificationStateQrScanned AppVerificationCancelResponseSessionVerificationState = "qr_scanned"` - `const AppVerificationCancelResponseSessionVerificationStateDone AppVerificationCancelResponseSessionVerificationState = "done"` - `const AppVerificationCancelResponseSessionVerificationStateCancelled AppVerificationCancelResponseSessionVerificationState = "cancelled"` - `const AppVerificationCancelResponseSessionVerificationStateError AppVerificationCancelResponseSessionVerificationState = "error"` - `Error AppVerificationCancelResponseSessionVerificationError` Verification error details, if verification stopped. - `Code string` Verification error code. - `Reason string` User-facing verification error message. - `OtherDevice AppVerificationCancelResponseSessionVerificationOtherDevice` Other device participating in verification. - `ID string` Other device ID. - `Name string` Other device display name, if known. - `OtherUserID string` Other Beeper user participating in verification. - `Qr AppVerificationCancelResponseSessionVerificationQr` QR verification data. - `Data string` QR code payload to display for verification. - `SAS AppVerificationCancelResponseSessionVerificationSAS` Emoji or number comparison data for verification. - `Emojis string` Emoji sequence to compare on both devices. - `Decimals string` Number sequence to compare on both devices. - `Verification AppVerificationCancelResponseVerification` Trusted device verification progress. - `ID string` Verification ID to pass in verification action paths. - `AvailableActions []string` Verification actions that are valid for the current state. - `const AppVerificationCancelResponseVerificationAvailableActionAccept AppVerificationCancelResponseVerificationAvailableAction = "accept"` - `const AppVerificationCancelResponseVerificationAvailableActionCancel AppVerificationCancelResponseVerificationAvailableAction = "cancel"` - `const AppVerificationCancelResponseVerificationAvailableActionQrConfirmScanned AppVerificationCancelResponseVerificationAvailableAction = "qr.confirmScanned"` - `const AppVerificationCancelResponseVerificationAvailableActionSASStart AppVerificationCancelResponseVerificationAvailableAction = "sas.start"` - `const AppVerificationCancelResponseVerificationAvailableActionSASConfirm AppVerificationCancelResponseVerificationAvailableAction = "sas.confirm"` - `Direction string` Whether this device started or received the verification. - `const AppVerificationCancelResponseVerificationDirectionIncoming AppVerificationCancelResponseVerificationDirection = "incoming"` - `const AppVerificationCancelResponseVerificationDirectionOutgoing AppVerificationCancelResponseVerificationDirection = "outgoing"` - `Methods []string` Verification methods supported for this transaction. - `const AppVerificationCancelResponseVerificationMethodQr AppVerificationCancelResponseVerificationMethod = "qr"` - `const AppVerificationCancelResponseVerificationMethodSAS AppVerificationCancelResponseVerificationMethod = "sas"` - `Purpose string` Why this verification exists. - `const AppVerificationCancelResponseVerificationPurposeLogin AppVerificationCancelResponseVerificationPurpose = "login"` - `const AppVerificationCancelResponseVerificationPurposeDevice AppVerificationCancelResponseVerificationPurpose = "device"` - `State string` Current trusted-device verification state. - `const AppVerificationCancelResponseVerificationStateRequested AppVerificationCancelResponseVerificationState = "requested"` - `const AppVerificationCancelResponseVerificationStateReady AppVerificationCancelResponseVerificationState = "ready"` - `const AppVerificationCancelResponseVerificationStateSASReady AppVerificationCancelResponseVerificationState = "sas_ready"` - `const AppVerificationCancelResponseVerificationStateQrScanned AppVerificationCancelResponseVerificationState = "qr_scanned"` - `const AppVerificationCancelResponseVerificationStateDone AppVerificationCancelResponseVerificationState = "done"` - `const AppVerificationCancelResponseVerificationStateCancelled AppVerificationCancelResponseVerificationState = "cancelled"` - `const AppVerificationCancelResponseVerificationStateError AppVerificationCancelResponseVerificationState = "error"` - `Error AppVerificationCancelResponseVerificationError` Verification error details, if verification stopped. - `Code string` Verification error code. - `Reason string` User-facing verification error message. - `OtherDevice AppVerificationCancelResponseVerificationOtherDevice` Other device participating in verification. - `ID string` Other device ID. - `Name string` Other device display name, if known. - `OtherUserID string` Other Beeper user participating in verification. - `Qr AppVerificationCancelResponseVerificationQr` QR verification data. - `Data string` QR code payload to display for verification. - `SAS AppVerificationCancelResponseVerificationSAS` Emoji or number comparison data for verification. - `Emojis string` Emoji sequence to compare on both devices. - `Decimals string` Number sequence to compare on both devices. ### Example ```go package main import ( "context" "fmt" "github.com/beeper/desktop-api-go" "github.com/beeper/desktop-api-go/option" ) func main() { client := beeperdesktopapi.NewClient( option.WithAccessToken("My Access Token"), ) response, err := client.App.Verifications.Cancel( context.TODO(), "x", beeperdesktopapi.AppVerificationCancelParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Session) } ``` #### 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" } } } ```