> ## Documentation Index
> Fetch the complete documentation index at: https://help.primevault.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Appendix: Event reference

This lists every message shown in the Activity column, grouped by entity, with what triggers each one.

## Transaction

Transactions use their own wording ("submitted," "received") rather than generic create/approve/reject terms, and the final status update is written by the system rather than a user.

| Message | Trigger |
| - | - |
| Transaction created | A transfer or trade is submitted and enters the approval queue. |
| Transaction approved | An approver approves the pending transaction. |
| Transaction rejected | An approver declines the transaction, or its approval window expires. Reserved spend is released back to the policy budget. |
| Transaction submitted | Approval completes and the transaction moves to processing. In most cases this means it's queued for dispatch, but a deposit can be marked approved under this same message without actually being dispatched. |
| Transaction received | An inbound transfer into an org wallet finishes processing. System-generated and no user shown. |
| Transaction status updated | An outgoing transaction reaches a terminal state on-chain. System-generated. **Outcome** reads Success if it completed, Failure if it failed onchain. |

> [!WARNING]
>
> "Transaction created" is used for both outgoing transfers and completed incoming transfers being logged for the first time; direction, not the label, is what distinguishes them. "Transaction rejected" always refers to an approval decision, NEVER an onchain failure.

## Vault

**Creating or deleting a vault** follows the standard pattern for most organisations. On approval:

| Message | Trigger |
| - | - |
| **Vault created** | The vault is fully provisioned: exchange linking, permissions, wallet generation, and contract deployment all happen at this point. |
| **Vault deleted** | The vault is detached from every policy rule and group referencing it, its pending transactions are rejected, and each detached policy or group gets its own entry. |

> [!WARNING]
>
> Some organisations create and delete vaults with no approval step. For those, you'll only ever see the single "Vault created" or "Vault deleted" entry, with no Requested or Approved entries before it.

## Policy

Policy changes ALWAYS require approval. A policy rule is never created or edited outright. (The entity is labelled "Policy," not "Policy rule.")

**Changing a vault's policy template** also follows the standard pattern, logged as Vault update requested / approved / rejected / updated.

Creation and updates follow the standard pattern. Two things are specific to policies:

* **There is no delete action.** Deleting a policy is logged as Policy update requested → Policy updated.
* **Most "Policy updated" entries aren't edits at all.** Deleting or deactivating something a policy references — a user, contact, vault, or DApp — automatically removes it from every policy that mentioned it. Each affected policy gets its own "Policy updated" entry, attributed to whoever requested the original deletion, not to a policy editor.

## Policy template

Creating a template is immediate with no approval required, so only Policy template created is logged. Editing a template follows the standard pattern (update requested / approved / rejected / updated), and an applied edit propagates to every vault using that template.

## Admin policy

The org-level policy governing approvals always exists, so there's no create or delete action — only the standard update pattern (Admin policy update requested / approved / rejected / updated).

## User

User events follow several distinct flows, since different account changes have different approval requirements.

**Invite and resend:** No approval required:

| Message | Trigger |
| - | - |
| User invited | An admin invites someone into the org, or an API user is created. |
| User invite resent | The invite is re-sent to a user still pending onboarding. Doesn't fire if that user already has an activation request pending. |

**Activation, deactivation, recovery, and role changes** each follow the standard Requested → Approved/Rejected → Applied pattern, with these specifics:

| Flow | What "Applied" means |
| - | - |
| Activation | The user is granted their permissions and marked active. Skipped entirely (no entries at all) if the org has no other active admin available to approve it. |
| Deactivation | The user is marked inactive, their pending transactions are declined, and their access is revoked. |
| Access level change | The user's new role takes effect. |
| Recovery | The user's old devices are cleared — this does not restore access, it only clears them to register a new device. The message reflects this: "User can be re-activated." |
| Re-activation after recovery | Raised automatically once the user registers a new device — this is the step that actually restores access, ending in "User re-activated." |

A deactivation with no request or approval entries before it means the user was still pending onboarding when deactivated.

If a user entry reads plainly "User created," "User updated," or "User deleted," with no more specific wording, the log wasn't able to identify which of the flows above produced it, and fell back to a generic label. The event still happened; the log just can't tell you which lifecycle it belongs to.

## Contact

Contacts (withdrawal addresses) follow the standard pattern in full for creation, edits, and deletion. On deletion, the contact is detached from any policy rules or groups that referenced it.

## Contact group / Vault group

Groups are only ever updated — never created or deleted as their own event. The label shown depends on the group's members: "Contact group," "Vault group," or "Group" if that can't be determined. Both a rename and a membership change follow the standard update pattern.

Two things to know:

* **A group's timeline can show changes nobody made directly.** Adding a contact to two groups produces an "updated" entry on each group, alongside the contact's own entries.
* **A vault added to a group at creation doesn't generate a group entry** — but the same vault being removed from a group later does.

## Bank account

Only creation is currently supported and there's no edit or delete flow yet.

## DApp

DApp allowlist entries are created and deleted through approval, never edited. Both follow the standard pattern. On deletion, the DApp is removed from any policy rules that referenced it.

## Not currently logged

* **Policy sets: C**hanges appear on the related policy template or vault instead.
* **Logins and report downloads.**
* **Most failed actions:** A validation error or permission denial that stops an action before it completes leaves no entry. The one exception is an outgoing transaction failing onchain, captured as described under Transaction above.
* **Automations:** An approved automation is queued for later processing, so no "applied" entry is written at approval time.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.