Verify Passcodes

This documentation will describe the Verify Passcodes (XMVERPAS) endpoint. This endpoint is responsible for authenticating contact passcodes. When passcodes are verified the system will write a history event to the corresponding account.

See the Authentication documentation for information on how to obtain the authentication headers within the request.

Use Cases

  • Generate history events when passcodes are verified.

Verify Passcode

Confirm a contact’s provided passcode is correct.

Supported Attributes

AttributeTypeRequiredDescription
*setMethodstringYesDetermines the endpoint you are calling. Must be XMVERPAS to verify passcodes.
ACCOUNT_NUMBERstringYesThe subscriber account number (9 character max). This is the account the contact is assigned to.
LOOKUP_ACCOUNTstringYesThe subscriber account number or other associated account number (linked accounts, dealer accounts, etc).
PASSCODEstringYesThe passcode or duress code requiring verification (15 chracter max).
INVALID_TRIESnon-negative integerNoThe number of times the contact has provided an incorrect code.
MESSAGE_CODEstringVariesReason for verifying the passcode. Depending on system flags, this option may be required.
FROM_ACTIVE_ALARMstringNoDetermines if the passcode is being verified as part of alarm processing. Accepts TRUE or FALSE.
TRUE: Passcode verification is happening while handling an alarm.
FALSE: Passcode verification is happening for a different reason.

Example Request

curl --location "https://example.securemcloud.com/rest/rest.php?dataSource=methods&*view=xmsubmit" \
--header 'X-DICE-APPKEY: {{X-DICE-APPKEY}}' \
--header 'X-DICE-USERNAME: {{X-DICE-USERNAME}}' \
--header 'X-DICE-DATE: {{X-DICE-DATE}}' \
--header 'X-DICE-NONCE: {{X-DICE-NONCE}}' \
--header 'X-DICE-DIGEST: {{X-DICE-DIGEST}}' \
--header 'Accept: application/json' \
--form '*setMethod="XMVERPAS"' \
--form 'ACCOUNT_NUMBER="TEST01"' \
--form 'LOOKUP_ACCOUNT="TEST01"' \
--form 'PASSCODE="55555"' \
--form 'INVALID_TRIES="0"' \
--form 'MESSAGE_CODE="Updating zone list"' \
--form 'FROM_ACTIVE_ALARM="TRUE"'

Example Reponses

Valid Passcode

{
    "XMVERPAS": {
        "ACTIVATE": "Y",
        "STATUS": "VERIFIED",
        "PASSCODE_TYPE": "ACCOUNT",
        "MESSAGE": "TESTING - LOGIN",
        "DEFAULT_LIST_NO": "07",
        "CANCEL_ALARM": "Y",
        "INSTALLER_TEST": "Y",
        "REQUEST_SERVICE": "Y",
        "FAX_REPORTS": "Y",
        "TEMP_SCHED_CHANGE": "Y",
        "DEALER_INFORMATION": "Y",
        "RECENT_HISTORY": "Y",
        "SPECIAL_INSTRUCTIONS": "Y",
        "TEMPORARY_NOTES": "Y",
        "PANEL_INFORMATION": "Y",
        "SUBS_INFORMATION": "Y",
        "PAGING": "Y",
        "ZONES_LOOKUP": "Y",
        "GROUPING": "Y",
        "TEMP_PASSCODES": "N",
        "VIEW_CONTACTS": "N",
        "LOG_MESSAGE": "N",
        "ALL_DATA_ENTRY": "N",
        "CUSTOMER_INQUIRY": "N",
        "CAN_LOGIN_ELINK": "Y",
        "PASSCODE_STATUS": "V",
        "DUP_IN_MON": "Operator DGC is monitoring that account or its linked account"
    }
}

Invalid Passcode

{
    "XMVERPAS": {
        "ACTIVATE": "Y",
        "STATUS": "INVALID",
        "MESSAGE": "INVALID PASSCODE",
        "INVALID_COUNT": "INVALID TRIES: 1",
        "INVALID_COUNT_NUMBER": "1"
    }
}

Response Fields

FieldDescription
ACTIVATEDisplays whether or not the account number is currently active within the system.
Y: Yes, the account is active.
N: No, the account is inactive.
STATUSDisplays if the provided passcode was correct.
MESSAGEDisplays the definition of the STATUS.
DEFAULT_LIST_NODisplays the identifier assigned to the contact upon creation.
CANCEL_ALARMDisplays if the contact is allowed to cancel alarms.
INSTALLER_TESTDisplays if the contact is allowed to enable/disable the account.
REQUEST_SERVICEDisplays if the contact is allowed to create service requests.
FAX_REPORTSDisplays if the contact is allowed to request fax reports.
TEMP_SCHED_CHANGEDisplays if the contact is allowed to make changes to temporary schedules.
DEALER_INFORMATIONDisplays if the contact is allowed to access dealer information.
RECENT_HISTORYDisplays if the contact is allowed to access alarm history.
SPECIAL_INSTRUCTIONSDisplays if the contact is allowed to access special instructions and permanent notes.
TEMPORARY_NOTESDisplays if the contact is allowed to access temporary notes.
PANEL_INFORMATIONDisplays if the contact is allowed to access panel information.
SUBS_INFORMATIONDisplays if the contact is allowed to access subscriber information.
PAGINGDisplays if the contact is allowed to access paging functions.
ZONES_LOOKUPDisplays if the contact is allowed to access zone information.
GROUPINGDisplays if the contact is allowed to access grouped account information.
TEMP_PASSCODESDisplays if the contact is allowed to make changes to temporary passcodes.
VIEW_CONTACTSDisplays if the contact is allowed to make changes to contacts.
LOG_MESSAGEDisplays if the contact is allowed to add messages to history.
ALL_DATA_ENTRYDisplays if the contact has access to all account information available within Data Entry.
CUSTOMER_INQUIRYDisplays if the contact is allowed to access AR customer inquiry information.
PASSCODE_STATUSDisplays if the contact’s passcode is valid for use during the current day and time.
DUP_IN_MONDisplays if an operator is currently handling an alarm on this account or one of its linked accounts.
INVALID_COUNTDisplays the total number of invalid tries.
INVALID_COUNT_NUMBERDisplays the total number of invalid tries.

Possible Error Messages

No Account

Verify an account number was specified.

{
    "XMVERPAS": {
        "STATUS": "NO ACCOUNT"
    }
}

Invalid Account

Verify the account number is correct.

{
    "XMVERPAS": {
        "INVALID_ACCOUNT": " 0192475d",
        "STATUS": "NO ACCOUNT"
    }
}

Invalid Method

Verify you are specifying XMVERPAS as the method.

{
    "ERROR_CODE": "999",
    "ERROR_DESCRIPTION": "INVALID%20METHOD%20METHOD",
    "PROGRAM_ERROR": "11",
    "PROGRAM_ERROR_DESCRIPTION": "Missing%20or%20Duplicate%20key",
    "ERROR_ON_LINE": "240",
    "ADDITIONAL_INFO": "%3CMETHOD_NAME%3EXMVERPA%20%3C%2FMETHOD_NAME%3E"
}