Access Credential Webhook Object

Verkada's Access Credential webhook events allow you to integrate real-time credential lifecycle changes into your third-party applications.

Each webhook payload includes a Credential Notification Object in the body. Within this object, the data field contains a Credential Event Data Object, which provides detailed information about the credential change. Use the eventType field to identify whether a credential was created, modified, or deleted.

To receive credential webhooks, configure your webhook subscription with the ACCESS_CREDENTIALS scope.


Credential Notification Object

AttributeTypeDescription
webhook_typeString"credential-notification"
webhook_idStringVerkada defined ID for the credential notification webhook.
org_idStringID of the organization from which the webhook is created.
created_atIntegerTime at which the webhook was created. Measured in seconds since the Unix epoch.
dataCredential Event Data ObjectSee below. Credential-specific information related to the event.

Credential Event Data Object

AttributeTypeDescription
eventTypeStringThe type of credential event. One of: CREDENTIAL_CREATED, CREDENTIAL_MODIFIED, CREDENTIAL_DELETED.
timestampStringISO 8601 timestamp of when the credential change occurred (e.g., 2026-02-04T05:43:20+00:00).
grantorIdStringThe ID of the user who initiated the credential change. For SCIM-provisioned changes, this may be the credential holder.
grantorEmployeeIdStringEmployee ID of the user who initiated the change. Empty string if not set.
grantorExternalIdStringExternal directory ID of the user who initiated the change. Empty string if not set.
eventIdStringUnique identifier for this event batch. Use as a deduplication key.
eventsArray of Credential Change ObjectsSee below. One or more credential changes, all sharing the same eventType.

Credential Change Object

Each object in the events array describes a single credential change.

AttributeTypeDescription
userIdStringThe ID of the user affected by the credential change.
employeeIdStringEmployee ID of the affected user. Empty string if not set.
externalIdStringExternal directory ID of the affected user. Empty string if not set.
newRecordCredential Record ObjectThe credential's current or final state. Always present for all event types. For CREDENTIAL_DELETED, reflects the state at the time of deletion.
oldRecordCredential Record ObjectThe credential's previous state. Usually present for CREDENTIAL_MODIFIED events; may be absent if the prior state was unavailable. Always absent for CREDENTIAL_CREATED and CREDENTIAL_DELETED.

Credential Record Object

Both newRecord and oldRecord share this structure.

AttributeTypeDescription
credentialTypeStringOne of: card, code, license_plate, mfa_code, qr_code, access_method, face.
credentialIdStringIdentifier for the credential. Format varies by type — see Credential Types below.
credentialDetailsObjectType-specific detail fields. See Credential Types below.

Credential Types

Card

Physical access cards with facility and card numbers.

credentialId is the card identifier (alphanumeric string).

AttributeTypeDescription
activeBooleanWhether the card is currently active.
cardStatusStringOne of: active, deactivated, expired, lost.
cardTypeStringCard format (e.g., HID, HID37wFacilityCode, DESFire, PIV). Treat as an opaque string.
parametersObjectCard encoding parameters. See Card Parameters below.

Card Parameters

Fields present in parameters depend on the cardType. Only relevant fields are included — others are omitted.

AttributeTypeDescription
card_numberIntegerCard number. Present for standard Wiegand-based card types.
facility_codeIntegerFacility code. Present for card types that support facility codes.
card_number_hexStringHex-encoded card number. Present for DESFire, MiFare, and other hex-based card types.
fascnStringFederal Agency Smart Credential Number. Present for FASCN card types.
guidStringGlobally Unique Identifier. Present for PIV card types.

Entry Code

Numeric entry codes for keypad access.

credentialId is the PIN value (numeric string).

AttributeTypeDescription
activeBooleanAlways true if the code exists.
codeLengthIntegerLength of the entry code.

License Plate

License plate numbers for vehicle access. Plate numbers are normalized to uppercase with leading/trailing whitespace stripped.

credentialId is the normalized plate number.

AttributeTypeDescription
activeBooleanWhether the license plate credential is active.

MFA Code

Multi-factor authentication codes.

credentialId is the MFA code value (numeric string).

AttributeTypeDescription
activeBooleanAlways true if the MFA code exists.
codeLengthIntegerLength of the MFA code.

QR Code

QR code credentials for access.

credentialId is the QR code value (alphanumeric string).

AttributeTypeDescription
activeBooleanWhether the QR code is active.
encodingTypeStringEncoding type. Common values include NONE, VISIT_KEY_BASE_10, VISIT_KEY_BASE_10_110_BIT, GUEST_STRIPPED_BIT_BASE_10. May also contain card format values (e.g., HID) for QR codes that encode card data.

Access Method

Mobile and wireless access credentials. These are capability toggles, not device-bound instances. Access methods only generate CREDENTIAL_MODIFIED events (they are toggled, not created or deleted).

credentialId is one of: MOBILE, BLUETOOTH, MOBILE-NFC, FACE.

AttributeTypeDescription
activeBooleanWhether this access method is enabled.

Face

Facial recognition credentials.

credentialId is a system-generated UUID.

AttributeTypeDescription
activeBooleanAlways true if the face credential exists.
sourceStringSource of face data (e.g., mobile_enrollment, new_photo, profile_photo). Treat as an opaque string.

Event Types

eventTypenewRecordoldRecordDescription
CREDENTIAL_CREATEDPresentAbsentA new credential was assigned to a user.
CREDENTIAL_MODIFIEDPresentUsually presentAn existing credential was updated (e.g., activated, deactivated, or reconfigured).
CREDENTIAL_DELETEDPresentAbsentA credential was removed. newRecord reflects the credential's state at the time of deletion.

Example Payloads

Card Created

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770141800,
  "webhook_id": "d91a4e2c-7f3b-4801-abcd-ef9876543210",
  "data": {
    "eventType": "CREDENTIAL_CREATED",
    "timestamp": "2026-02-04T05:43:18+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "71a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "card",
          "credentialId": "00110111100000000011011111",
          "credentialDetails": {
            "active": true,
            "cardStatus": "active",
            "cardType": "HID",
            "parameters": {
              "card_number": 111,
              "facility_code": 111
            }
          }
        }
      }
    ]
  }
}

Card Modified (Deactivated)

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770141915,
  "webhook_id": "e02b5f12-339f-4858-bcc9-6b0ddc6a0ba1",
  "data": {
    "eventType": "CREDENTIAL_MODIFIED",
    "timestamp": "2026-02-04T05:45:13+00:00",
    "grantorId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
    "grantorEmployeeId": "",
    "grantorExternalId": "",
    "eventId": "82b3c4d5-e6f7-4a8b-9c0d-1e2f3a4b5c6d",
    "events": [
      {
        "employeeId": "",
        "externalId": "",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "card",
          "credentialId": "00110111100000000011011111",
          "credentialDetails": {
            "active": false,
            "cardStatus": "deactivated",
            "cardType": "HID",
            "parameters": {
              "card_number": 111,
              "facility_code": 111
            }
          }
        },
        "oldRecord": {
          "credentialType": "card",
          "credentialId": "00110111100000000011011111",
          "credentialDetails": {
            "active": true,
            "cardStatus": "active",
            "cardType": "HID",
            "parameters": {
              "card_number": 111,
              "facility_code": 111
            }
          }
        }
      }
    ]
  }
}

Card Deleted

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770142000,
  "webhook_id": "f13c6a23-8b0c-4963-cdf0-7c1eeda1cb22",
  "data": {
    "eventType": "CREDENTIAL_DELETED",
    "timestamp": "2026-02-04T05:46:38+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "93c4d5e6-f7a8-4b9c-0d1e-2f3a4b5c6d7e",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "card",
          "credentialId": "00110111100000000011011111",
          "credentialDetails": {
            "active": true,
            "cardStatus": "active",
            "cardType": "HID",
            "parameters": {
              "card_number": 111,
              "facility_code": 111
            }
          }
        }
      }
    ]
  }
}

Entry Code Created

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770142100,
  "webhook_id": "a24d7b34-9c1d-4a74-ef23-8d2ffeb2dc33",
  "data": {
    "eventType": "CREDENTIAL_CREATED",
    "timestamp": "2026-02-04T05:48:18+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "a4d5e6f7-a8b9-4c0d-1e2f-3a4b5c6d7e8f",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "code",
          "credentialId": "123456",
          "credentialDetails": {
            "active": true,
            "codeLength": 6
          }
        }
      }
    ]
  }
}

Mobile Access Enabled

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770142300,
  "webhook_id": "b35e8c45-ad2e-4b85-f034-9e3a0fc3ed44",
  "data": {
    "eventType": "CREDENTIAL_MODIFIED",
    "timestamp": "2026-02-04T05:51:38+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "b5e6f7a8-b9c0-4d1e-2f3a-4b5c6d7e8f9a",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "access_method",
          "credentialId": "MOBILE",
          "credentialDetails": {
            "active": true
          }
        },
        "oldRecord": {
          "credentialType": "access_method",
          "credentialId": "MOBILE",
          "credentialDetails": {
            "active": false
          }
        }
      }
    ]
  }
}

License Plate Created

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770142600,
  "webhook_id": "c46f9d56-be3f-4c96-a145-af4b10d4fe55",
  "data": {
    "eventType": "CREDENTIAL_CREATED",
    "timestamp": "2026-02-04T05:56:38+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "c6f7a8b9-c0d1-4e2f-3a4b-5c6d7e8f9a0b",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "license_plate",
          "credentialId": "ABC1234",
          "credentialDetails": {
            "active": true
          }
        }
      }
    ]
  }
}

Face Credential Created

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770143100,
  "webhook_id": "d570ae67-cf40-4da7-b256-b05c21e50f66",
  "data": {
    "eventType": "CREDENTIAL_CREATED",
    "timestamp": "2026-02-04T06:04:58+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "d7a8b9c0-d1e2-4f3a-4b5c-6d7e8f9a0b1c",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "face",
          "credentialId": "f9c0d1e2-f3a4-4b5c-6d7e-8f9a0b1c2d3e",
          "credentialDetails": {
            "active": true,
            "source": "profile_photo"
          }
        }
      }
    ]
  }
}

Batch: Multiple Cards Deleted

{
  "org_id": "b83ed7b7-5ad6-4f6d-99f6-68412794438b",
  "webhook_type": "credential-notification",
  "created_at": 1770143500,
  "webhook_id": "e681bf78-d051-4eb8-c367-c16d32f61a77",
  "data": {
    "eventType": "CREDENTIAL_DELETED",
    "timestamp": "2026-02-04T06:11:38+00:00",
    "grantorId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
    "grantorEmployeeId": "EMP001",
    "grantorExternalId": "[email protected]",
    "eventId": "e8b9c0d1-e2f3-4a4b-5c6d-7e8f9a0b1c2d",
    "events": [
      {
        "employeeId": "EMP042",
        "externalId": "[email protected]",
        "userId": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
        "newRecord": {
          "credentialType": "card",
          "credentialId": "00110111100000000011011111",
          "credentialDetails": {
            "active": true,
            "cardStatus": "active",
            "cardType": "HID",
            "parameters": {
              "card_number": 111,
              "facility_code": 111
            }
          }
        }
      },
      {
        "employeeId": "EMP043",
        "externalId": "[email protected]",
        "userId": "e5f6a7b8-c9d0-4e1f-2a3b-4c5d6e7f8a9b",
        "newRecord": {
          "credentialType": "card",
          "credentialId": "10110010000000000011001000",
          "credentialDetails": {
            "active": true,
            "cardStatus": "active",
            "cardType": "HID",
            "parameters": {
              "card_number": 100,
              "facility_code": 100
            }
          }
        }
      }
    ]
  }
}