agentmail/types/
api_keys.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize)]
5pub struct ApiKey {
6 pub api_key_id: String,
8 #[serde(default)]
10 pub prefix: Option<String>,
11 #[serde(default)]
13 pub name: Option<String>,
14 #[serde(default)]
16 pub pod_id: Option<String>,
17 #[serde(default)]
19 pub inbox_id: Option<String>,
20 #[serde(default)]
22 pub used_at: Option<String>,
23 #[serde(default)]
25 pub permissions: Option<serde_json::Value>,
26 #[serde(default)]
28 pub created_at: Option<String>,
29}
30
31#[derive(Clone, Debug, Default, Serialize)]
33pub struct CreateApiKey {
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub name: Option<String>,
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub permissions: Option<serde_json::Value>,
40}
41
42#[derive(Clone, Debug, Deserialize)]
45pub struct CreatedApiKey {
46 pub api_key_id: String,
48 pub api_key: String,
50 #[serde(default)]
52 pub prefix: Option<String>,
53 #[serde(default)]
55 pub name: Option<String>,
56 #[serde(default)]
58 pub created_at: Option<String>,
59}
60
61#[derive(Clone, Debug, Deserialize)]
63pub struct ApiKeyList {
64 pub count: u64,
66 #[serde(default)]
68 pub api_keys: Vec<ApiKey>,
69 #[serde(default)]
71 pub next_page_token: Option<String>,
72}