Skip to main content

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}