# `Grizzly.ZWave.Commands.CredentialReport`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/zwave/commands/credential_report.ex#L1)

CredentialReport is used to report the status of a credential at the sending node.

## Parameters

* `:report_type` - the type of report (required)
* `:user_id` - the ID of the user for the credential (required)
* `:credential_type` - the type of credential (required)
* `:credential_slot` - the slot of the credential (required)
* `:read_back_supported?` - whether read back is supported (required)
* `:credential_data` - the data for the credential (required). If `read_back_supported?`
  is `false`, this will be a hash of the credential data.
* `:modifier_type` - the type of modifier (required)
* `:modifier_node_id` - the node ID of the modifier (required). If modifier_type is :zwave,
  this will be the node ID of the Z-Wave node that modified the credential. For other modifier
  types, this value is manufacturer specific.
* `:next_credential_type` - the type of the next credential (required)
* `:next_credential_slot` - the slot of the next credential (required)

# `param`

```elixir
@type param() ::
  {:report_type, report_type()}
  | {:user_id, 0..65535}
  | {:credential_type,
     Grizzly.ZWave.CommandClasses.UserCredential.credential_type()}
  | {:credential_slot, 0..65535}
  | {:read_back_supported?, boolean()}
  | {:credential_data, binary()}
  | {:modifier_type,
     Grizzly.ZWave.CommandClasses.UserCredential.modifier_type()}
  | {:modifier_node_id, 0..65535}
  | {:next_credential_type,
     Grizzly.ZWave.CommandClasses.UserCredential.credential_type()}
  | {:next_credential_slot, 0..65535}
```

# `report_type`

```elixir
@type report_type() ::
  :added
  | :modified
  | :deleted
  | :unchanged
  | :response_to_get
  | :rejected_location_occupied
  | :rejected_location_empty
  | :duplicate
  | :manufacturer_security_rules
  | :wrong_user_id
  | :duplicate_admin_pin_code
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
