agentmail/types/inbox_events.rs
1use serde::Deserialize;
2
3/// An entry in an inbox's audit log (label changes, deliveries, etc.).
4#[derive(Clone, Debug, Deserialize)]
5pub struct InboxEvent {
6 /// Unique event id.
7 pub event_id: String,
8 /// The kind of event.
9 #[serde(default)]
10 pub event_type: Option<String>,
11 /// The inbox the event belongs to.
12 #[serde(default)]
13 pub inbox_id: Option<String>,
14 /// The organization the event belongs to.
15 #[serde(default)]
16 pub organization_id: Option<String>,
17 /// The pod the event belongs to, when applicable.
18 #[serde(default)]
19 pub pod_id: Option<String>,
20 /// The message the event concerns, when applicable.
21 #[serde(default)]
22 pub message_id: Option<String>,
23 /// The label involved, for label events.
24 #[serde(default)]
25 pub label: Option<String>,
26 /// When the event occurred (RFC 3339).
27 #[serde(default)]
28 pub event_at: Option<String>,
29 /// When the event record was created (RFC 3339).
30 #[serde(default)]
31 pub created_at: Option<String>,
32}
33
34/// One page of inbox events from [`Client::list_inbox_events_page`].
35#[derive(Clone, Debug, Deserialize)]
36pub struct InboxEventList {
37 /// Total events for the inbox (not just this page).
38 pub count: u64,
39 /// This page of events.
40 #[serde(default)]
41 pub events: Vec<InboxEvent>,
42 /// Cursor for the next page; `None` on the last page.
43 #[serde(default)]
44 pub next_page_token: Option<String>,
45}