Skip to content
Download Beeper

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.

ParametersExpand Collapse
verificationID string

Verification ID.

minLength1
body AppVerificationCancelParams
Code param.Field[string]Optional

Optional cancellation code.

Reason param.Field[string]Optional

Optional user-facing cancellation reason.

ReturnsExpand Collapse
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 float64Optional

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.

One of the following:
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 AppVerificationCancelResponseSessionMatrixOptional

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 AppVerificationCancelResponseSessionVerificationOptional

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.

One of the following:
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.

One of the following:
const AppVerificationCancelResponseSessionVerificationDirectionIncoming AppVerificationCancelResponseSessionVerificationDirection = "incoming"
const AppVerificationCancelResponseSessionVerificationDirectionOutgoing AppVerificationCancelResponseSessionVerificationDirection = "outgoing"
Methods []string

Verification methods supported for this transaction.

One of the following:
const AppVerificationCancelResponseSessionVerificationMethodQr AppVerificationCancelResponseSessionVerificationMethod = "qr"
const AppVerificationCancelResponseSessionVerificationMethodSAS AppVerificationCancelResponseSessionVerificationMethod = "sas"
Purpose string

Why this verification exists.

One of the following:
const AppVerificationCancelResponseSessionVerificationPurposeLogin AppVerificationCancelResponseSessionVerificationPurpose = "login"
const AppVerificationCancelResponseSessionVerificationPurposeDevice AppVerificationCancelResponseSessionVerificationPurpose = "device"
State string

Current trusted-device verification state.

One of the following:
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 AppVerificationCancelResponseSessionVerificationErrorOptional

Verification error details, if verification stopped.

Code string

Verification error code.

Reason string

User-facing verification error message.

OtherDevice AppVerificationCancelResponseSessionVerificationOtherDeviceOptional

Other device participating in verification.

ID string

Other device ID.

Name stringOptional

Other device display name, if known.

OtherUserID stringOptional

Other Beeper user participating in verification.

Qr AppVerificationCancelResponseSessionVerificationQrOptional

QR verification data.

Data string

QR code payload to display for verification.

SAS AppVerificationCancelResponseSessionVerificationSASOptional

Emoji or number comparison data for verification.

Emojis string

Emoji sequence to compare on both devices.

Decimals stringOptional

Number sequence to compare on both devices.

Verification AppVerificationCancelResponseVerificationOptional

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.

One of the following:
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.

One of the following:
const AppVerificationCancelResponseVerificationDirectionIncoming AppVerificationCancelResponseVerificationDirection = "incoming"
const AppVerificationCancelResponseVerificationDirectionOutgoing AppVerificationCancelResponseVerificationDirection = "outgoing"
Methods []string

Verification methods supported for this transaction.

One of the following:
const AppVerificationCancelResponseVerificationMethodQr AppVerificationCancelResponseVerificationMethod = "qr"
const AppVerificationCancelResponseVerificationMethodSAS AppVerificationCancelResponseVerificationMethod = "sas"
Purpose string

Why this verification exists.

One of the following:
const AppVerificationCancelResponseVerificationPurposeLogin AppVerificationCancelResponseVerificationPurpose = "login"
const AppVerificationCancelResponseVerificationPurposeDevice AppVerificationCancelResponseVerificationPurpose = "device"
State string

Current trusted-device verification state.

One of the following:
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 AppVerificationCancelResponseVerificationErrorOptional

Verification error details, if verification stopped.

Code string

Verification error code.

Reason string

User-facing verification error message.

OtherDevice AppVerificationCancelResponseVerificationOtherDeviceOptional

Other device participating in verification.

ID string

Other device ID.

Name stringOptional

Other device display name, if known.

OtherUserID stringOptional

Other Beeper user participating in verification.

Qr AppVerificationCancelResponseVerificationQrOptional

QR verification data.

Data string

QR code payload to display for verification.

SAS AppVerificationCancelResponseVerificationSASOptional

Emoji or number comparison data for verification.

Emojis string

Emoji sequence to compare on both devices.

Decimals stringOptional

Number sequence to compare on both devices.

Cancel device verification

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)
}
{
  "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"
    }
  }
}
Returns Examples
{
  "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"
    }
  }
}