Usage Event
The UsageEvent records every counted operation that is not an issuance or a verification: credentials received and
presented by wallets, wallets created, keys created, DIDs resolved. It is written by the same call that counts the
operation for usage and your license, so events and usage cannot disagree. API key requests are
counted, but not written as events.
Example Usage Event
{
"type": "id.walt.events.UsageEvent",
"eventType": "UsageEvent",
"_id": "6d0c1f8e-1c55-4a8b-9a43-0f7f6b8e2f10",
"originator": "4b0e3c1a-8f0e-4c1d-9b7a-2f3e4d5c6b7a",
"organization": "waltid",
"target": "waltid.mycustomer.kms",
"timestamp": 1791364823112,
"action": {
"type": "generate-key"
},
"status": {
"type": "Success"
},
"callId": null,
"error": null,
"usageType": "KEY_OPERATION",
"amount": 1,
"details": {
"keyType": "secp256r1",
"keyId": "waltid.mycustomer.kms.2VhG..."
}
}
UsageEvent Attributes
- type: Specifies the Kotlin class name of the event.
- eventType: Indicates the type of event. In our case
"UsageEvent". - _id: A unique identifier for the event, represented as a UUID.
- originator: The account that did the operation, if known.
- organization: The organization the operation was done in, e.g.
"waltid". - target: The service (or an entry under it) the operation was done for, e.g.
"waltid.mycustomer.kms". - timestamp: The time the operation was counted, as a Unix timestamp in milliseconds.
- action: The API operation it was done in, e.g.
"generate-key". - status: Always
Success: failed operations are not counted. - usageType: What was counted, one of the types of What is counted, e.g.
"KEY_OPERATION". - amount: How many units of
usageType, e.g.2for two credentials received in one request. - details: What else is known about the operation:
keyTypeandkeyIdfor keys,didMethodfor DIDs.
Last updated on November 3, 2026
