diff --git a/src/Entity.jl b/src/Entity.jl
index 5b04ac2c4295f483ae82311463fa544d1babe783..22cf0813e290134f95fa6452fd86b01859667b4c 100644
--- a/src/Entity.jl
+++ b/src/Entity.jl
@@ -475,6 +475,35 @@ function create_parent(; name::AbstractString = "", id::AbstractString = "")
     return parent
 end
 
+"""
+    function create_atomic_datatype(name::AbstractString)
+
+Create and return a DataType object with an atomic datatype specified by the
+`name`.
+"""
+function create_atomic_datatype(name::AbstractString)
+
+    datatype = Ref{_DataType}(_DataType(true))
+
+    err_code = ccall(
+        (:caosdb_entity_create_atomic_datatype, CaosDB.library_name),
+        Cint,
+        (Ref{_DataType}, Cstring),
+        datatype,
+        name
+    )
+
+    CaosDB.Exceptions.evaluate_return_code(err_code)
+
+    return datatype
+end
+
+function create_reference_datatype(name::AbstractString) end
+
+function create_list_of_atomic_datatype(name::AbstractString) end
+
+function create_list_of_reference_datatype(name::AbstractString) end
+
 """
     function get_id(entity::Ref{_Entity})