diff --git a/src/api/core/sends.rs b/src/api/core/sends.rs
index b69c4309f6d30583f3f3029bfdbd61bcd01943eb..86f73af40fe211af8353ecf40046a44f6b1a55dc 100644
--- a/src/api/core/sends.rs
+++ b/src/api/core/sends.rs
@@ -231,7 +231,7 @@ fn post_access(access_id: String, data: JsonUpcase<SendAccessData>, conn: DbConn
 
     send.save(&conn)?;
 
-    Ok(Json(send.to_json()))
+    Ok(Json(send.to_json_access()))
 }
 
 #[post("/sends/<send_id>/access/file/<file_id>", data = "<data>")]
diff --git a/src/db/models/send.rs b/src/db/models/send.rs
index d7a7a8720c5b14f3158348cc976b3d8e812a9107..8834a356b533a7e0e91463f32af964d37f63a237 100644
--- a/src/db/models/send.rs
+++ b/src/db/models/send.rs
@@ -130,6 +130,24 @@ impl Send {
             "Object": "send",
         })
     }
+
+    pub fn to_json_access(&self) -> Value {
+        use crate::util::format_date;
+
+        let data: Value = serde_json::from_str(&self.data).unwrap_or_default();
+
+        json!({
+            "Id": self.uuid,
+            "Type": self.atype,
+
+            "Name": self.name,
+            "Text": if self.atype == SendType::Text as i32 { Some(&data) } else { None },
+            "File": if self.atype == SendType::File as i32 { Some(&data) } else { None },
+
+            "ExpirationDate": self.expiration_date.as_ref().map(format_date),
+            "Object": "send-access",
+        })
+    }
 }
 
 use crate::db::DbConn;