Texecom Event Schemas

JSON Schema Documentation

Access Key Write Payload

Payload emitted when the observer lambda intercepts a PUT /api/settings/users/access_keys/{key_id} message. Signals that an access key was written (created or updated) to a user slot.

$idhttps://schemas.texecom-prod.com/v2/events/payload/cloud/internal/access_key/write/v1.0.0.json
$schemahttp://json-schema.org/draft-07/schema

Properties

NameType
serialString
hardwareIdString
keySlotIdString
userIdString
keyValueInteger
usageOne of:String
Object
Object

serial

Description Panel serial number extracted from the MQTT topic path (device/{serial}/...).
TypeString
Required Yes

hardwareId

Description Panel primary key in the device service DB, resolved via serial lookup (device.hardware.hardware_id).
TypeString
Required Yes
Format uuid

keySlotId

Description Key slot identifier (key1–key20). Maps to path parameter users_access_keys_access_key_id.
TypeString
Required Yes

userId

Description The user this key is assigned to (user1–user10). Maps to firmware user_id.
TypeString
Required Yes

keyValue

Description Raw numeric credential value (e.g. RFID tag number). Maps to firmware key.key.
TypeInteger
Required Yes

usage

Description Action triggered by the key. Maps to firmware key.usage.
TypeOne of:String
Object
Object
Required Yes

usage.0

TypeString
Enum
  • disarm

usage.1

TypeObject

usage.1.arm

TypeString

usage.2

TypeObject

usage.2.arm_toggle

TypeString

Schema

{
    "$id": "https://schemas.texecom-prod.com/v2/events/payload/cloud/internal/access_key/write/v1.0.0.json",
    "$schema": "http://json-schema.org/draft-07/schema",
    "title": "Access Key Write Payload",
    "description": "Payload emitted when the observer lambda intercepts a PUT /api/settings/users/access_keys/{key_id} message. Signals that an access key was written (created or updated) to a user slot.",
    "type": "object",
    "properties": {
        "serial": {
            "description": "Panel serial number extracted from the MQTT topic path (device/{serial}/...).",
            "type": "string"
        },
        "hardwareId": {
            "description": "Panel primary key in the device service DB, resolved via serial lookup (device.hardware.hardware_id).",
            "type": "string",
            "format": "uuid"
        },
        "keySlotId": {
            "description": "Key slot identifier (key1–key20). Maps to path parameter users_access_keys_access_key_id.",
            "type": "string"
        },
        "userId": {
            "description": "The user this key is assigned to (user1–user10). Maps to firmware user_id.",
            "type": "string"
        },
        "keyValue": {
            "description": "Raw numeric credential value (e.g. RFID tag number). Maps to firmware key.key.",
            "type": "integer"
        },
        "usage": {
            "description": "Action triggered by the key. Maps to firmware key.usage.",
            "oneOf": [
                {
                    "type": "string",
                    "enum": [
                        "disarm"
                    ]
                },
                {
                    "type": "object",
                    "properties": {
                        "arm": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "arm"
                    ],
                    "additionalProperties": false
                },
                {
                    "type": "object",
                    "properties": {
                        "arm_toggle": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "arm_toggle"
                    ],
                    "additionalProperties": false
                }
            ]
        }
    },
    "required": [
        "serial",
        "hardwareId",
        "keySlotId",
        "userId",
        "keyValue",
        "usage"
    ],
    "additionalProperties": false
}