diff --git a/README.md b/README.md
index d122d4cab5122aafd3cecde5d4a3853358c61a97..71673323ee5e8be88efdfaf6a37e16643b24a47d 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ AnkiBridge is an ongoing project with planned future developments. Here are the
 - [X] Graphical Actions
 - [ ] Media Actions
 - [X] Miscellaneous Actions
-- [ ] Model Actions
+- [X] Model Actions
 - [ ] Note Actions
 - [X] Statistic Actions
 - [X] [ureq](https://github.com/algesten/ureq) synchronous HTTP client
diff --git a/src/lib.rs b/src/lib.rs
index 83559e7b10e38996298a0c0a494d985ef70854d7..04898cc4d701245868e167f952ba73c265198db5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -49,6 +49,8 @@ pub mod deck_actions;
 pub mod graphical_actions;
 /// Module containing statistic-related actions for `AnkiConnect`.
 pub mod miscellaneous_actions;
+/// Module containing model-related actions for `AnkiConnect`.
+pub mod model_actions;
 /// Module containing notes-related actions for `AnkiConnect`.
 pub mod notes_actions;
 /// Module containing statistic-related actions for `AnkiConnect`.
diff --git a/src/model_actions/create_model.rs b/src/model_actions/create_model.rs
new file mode 100644
index 0000000000000000000000000000000000000000..add6b455011801f8bce92f5000a644f7a5167e66
--- /dev/null
+++ b/src/model_actions/create_model.rs
@@ -0,0 +1,47 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "createModel" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct CreateModelRequest {
+    pub model_name: String,
+    pub in_order_fields: Vec<String>,
+    pub css: String,
+    pub is_cloze: bool,
+    pub card_templates: Vec<HashMap<String, String>>,
+}
+// TODO: parse response
+impl AnkiRequest for CreateModelRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "createModel";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/find_and_replace_in_models.rs b/src/model_actions/find_and_replace_in_models.rs
new file mode 100644
index 0000000000000000000000000000000000000000..3162b74e9215da850bffab400be0301a55599c7a
--- /dev/null
+++ b/src/model_actions/find_and_replace_in_models.rs
@@ -0,0 +1,50 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "findAndReplaceInModels" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct FindAndReplaceInModelsRequest {
+    pub model: FindAndReplaceInModelsModelRequest,
+}
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct FindAndReplaceInModelsModelRequest {
+    pub model_name: String,
+    pub find_text: String,
+    pub replace_text: String,
+    pub front: bool,
+    pub back: bool,
+    pub css: bool,
+}
+impl AnkiRequest for FindAndReplaceInModelsRequest {
+    type Response = usize;
+
+    const ACTION: &'static str = "findAndReplaceInModels";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/mod.rs b/src/model_actions/mod.rs
new file mode 100644
index 0000000000000000000000000000000000000000..91c9c6d879f61906cf766f7eebfb6d43f365f3fb
--- /dev/null
+++ b/src/model_actions/mod.rs
@@ -0,0 +1,74 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+/// Creates a new model to be used in Anki.
+pub mod create_model;
+/// Find and replace string in existing model by model name. Customise to replace in front, back or css by setting to true/false.
+pub mod find_and_replace_in_models;
+/// Creates a new field within a given model.
+/// Optionally, the `index` value can be provided, which works exactly the same as the index in `modelFieldReposition`. By default, the field is added to the end of the field list.
+pub mod model_field_add;
+/// Gets the complete list of field descriptions (the text seen in the gui editor when a field is empty) for the provided model name.
+pub mod model_field_descriptions;
+/// Gets the complete list of fonts along with their font sizes.
+pub mod model_field_fonts;
+/// Gets the complete list of field names for the provided model name.
+pub mod model_field_names;
+/// Deletes a field within a given model.
+pub mod model_field_remove;
+/// Rename the field name of a given model.
+pub mod model_field_rename;
+/// Reposition the field within the field list of a given model.
+/// The value of `index` starts at 0. For example, an index of `0` puts the field in the first position, and an index of `2` puts the field in the third position.
+pub mod model_field_reposition;
+/// Sets the description (the text seen in the gui editor when a field is empty) for a field within a given model.
+/// Older versions of Anki (2.1.49 and below) do not have field descriptions. In that case, this will return with `false`.
+pub mod model_field_set_description;
+/// Sets the font for a field within a given model.
+pub mod model_field_set_font;
+/// Sets the font size for a field within a given model.
+pub mod model_field_set_font_size;
+/// Returns an object indicating the fields on the question and answer side of each card template for the given model name. The question side is given first in each array.
+pub mod model_fields_on_templates;
+/// Gets the complete list of model names for the current user.
+pub mod model_names;
+/// Gets the complete list of model names and their corresponding IDs for the current user.
+pub mod model_names_and_ids;
+/// Gets the CSS styling for the provided model by name.
+pub mod model_styling;
+/// Adds a template to an existing model by name. If you want to update an existing template, use `updateModelTemplates`.
+pub mod model_template_add;
+/// Removes a template from an existing model.
+pub mod model_template_remove;
+/// Renames a template in an existing model.
+pub mod model_template_rename;
+/// Repositions a template in an existing model.
+/// The value of `index` starts at 0. For example, an index of `0` puts the template in the first position, and an index of `2` puts the template in the third position.
+pub mod model_template_reposition;
+/// Returns an object indicating the template content for each card connected to the provided model by name.
+pub mod model_templates;
+/// Modify the CSS styling of an existing model by name.
+pub mod update_model_styling;
+/// Modify the templates of an existing model by name. Only specifies cards and specified sides will be modified. If an existing card or side is not included in the request, it will be left unchanged.
+pub mod update_model_templates;
diff --git a/src/model_actions/model_field_add.rs b/src/model_actions/model_field_add.rs
new file mode 100644
index 0000000000000000000000000000000000000000..3ded9472331c9d8a82730e9352c7c351acbadb2b
--- /dev/null
+++ b/src/model_actions/model_field_add.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldAdd" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldAddRequest {
+    pub model_name: String,
+    pub field_name: String,
+    pub index: Option<usize>,
+}
+
+impl AnkiRequest for ModelFieldAddRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldAdd";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_descriptions.rs b/src/model_actions/model_field_descriptions.rs
new file mode 100644
index 0000000000000000000000000000000000000000..c5510847d5363b12a9beb6b689b1c97bf07c2617
--- /dev/null
+++ b/src/model_actions/model_field_descriptions.rs
@@ -0,0 +1,41 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldDescriptions" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldDescriptionsRequest {
+    pub model_name: String,
+}
+
+impl AnkiRequest for ModelFieldDescriptionsRequest {
+    type Response = Vec<String>;
+
+    const ACTION: &'static str = "modelFieldDescriptions";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_fonts.rs b/src/model_actions/model_field_fonts.rs
new file mode 100644
index 0000000000000000000000000000000000000000..6ade960b845b0dfbc6eeacd7744507e04634d5ae
--- /dev/null
+++ b/src/model_actions/model_field_fonts.rs
@@ -0,0 +1,49 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::{Deserialize, Serialize};
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldFonts" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldFontsRequest {
+    pub model_name: String,
+}
+/// font with font size
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
+pub struct ModelFieldFontsResponse {
+    pub font: String,
+    pub size: usize,
+}
+
+impl AnkiRequest for ModelFieldFontsRequest {
+    type Response = HashMap<String, ModelFieldFontsResponse>;
+
+    const ACTION: &'static str = "modelFieldFonts";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_names.rs b/src/model_actions/model_field_names.rs
new file mode 100644
index 0000000000000000000000000000000000000000..7763790ee1d8de0972c1361e339c248c159ce429
--- /dev/null
+++ b/src/model_actions/model_field_names.rs
@@ -0,0 +1,41 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldNames" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldNamesRequest {
+    pub model_name: String,
+}
+
+impl AnkiRequest for ModelFieldNamesRequest {
+    type Response = Vec<String>;
+
+    const ACTION: &'static str = "modelFieldNames";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_remove.rs b/src/model_actions/model_field_remove.rs
new file mode 100644
index 0000000000000000000000000000000000000000..e339b1eea89afe843e73e9c1349c5335bc4a6e5e
--- /dev/null
+++ b/src/model_actions/model_field_remove.rs
@@ -0,0 +1,42 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldRemove" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldRemoveRequest {
+    pub model_name: String,
+    pub field_name: String,
+}
+
+impl AnkiRequest for ModelFieldRemoveRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldRemove";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_rename.rs b/src/model_actions/model_field_rename.rs
new file mode 100644
index 0000000000000000000000000000000000000000..15a7f8891be6705c06c2f69505414ae17ede6285
--- /dev/null
+++ b/src/model_actions/model_field_rename.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldRename" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldRenameRequest {
+    pub model_name: String,
+    pub old_field_name: String,
+    pub new_field_name: String,
+}
+
+impl AnkiRequest for ModelFieldRenameRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldRename";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_reposition.rs b/src/model_actions/model_field_reposition.rs
new file mode 100644
index 0000000000000000000000000000000000000000..d802076bbf22386d4ffeaf436c476633d3a2e943
--- /dev/null
+++ b/src/model_actions/model_field_reposition.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldReposition" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldRepositionRequest {
+    pub model_name: String,
+    pub field_name: String,
+    pub index: usize,
+}
+
+impl AnkiRequest for ModelFieldRepositionRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldReposition";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_set_description.rs b/src/model_actions/model_field_set_description.rs
new file mode 100644
index 0000000000000000000000000000000000000000..67d85884e0205a7bd35647bb05652b3c344a75be
--- /dev/null
+++ b/src/model_actions/model_field_set_description.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldSetDescription" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldSetDescriptionRequest {
+    pub model_name: String,
+    pub field_name: String,
+    pub description: String,
+}
+
+impl AnkiRequest for ModelFieldSetDescriptionRequest {
+    type Response = bool;
+
+    const ACTION: &'static str = "modelFieldSetDescription";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_set_font.rs b/src/model_actions/model_field_set_font.rs
new file mode 100644
index 0000000000000000000000000000000000000000..a70bbe222c8e10918776a3446d83adc3702de4d4
--- /dev/null
+++ b/src/model_actions/model_field_set_font.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldSetFont" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldSetFontRequest {
+    pub model_name: String,
+    pub field_name: String,
+    pub font: String,
+}
+
+impl AnkiRequest for ModelFieldSetFontRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldSetFont";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_field_set_font_size.rs b/src/model_actions/model_field_set_font_size.rs
new file mode 100644
index 0000000000000000000000000000000000000000..bcd89a2f6da3d79c8a926cc6058885540f01b638
--- /dev/null
+++ b/src/model_actions/model_field_set_font_size.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldSetFontSize" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldSetFontSizeRequest {
+    pub model_name: String,
+    pub field_name: String,
+    pub font_size: String,
+}
+
+impl AnkiRequest for ModelFieldSetFontSizeRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelFieldSetFontSize";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_fields_on_templates.rs b/src/model_actions/model_fields_on_templates.rs
new file mode 100644
index 0000000000000000000000000000000000000000..21032d1ea9642e3df891856b6c1a7ce957097f10
--- /dev/null
+++ b/src/model_actions/model_fields_on_templates.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelFieldsOnTemplates" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelFieldsOnTemplatesRequest {
+    pub model_name: String,
+}
+
+impl AnkiRequest for ModelFieldsOnTemplatesRequest {
+    type Response = HashMap<String, Vec<Vec<String>>>;
+
+    const ACTION: &'static str = "modelFieldsOnTemplates";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_names.rs b/src/model_actions/model_names.rs
new file mode 100644
index 0000000000000000000000000000000000000000..b977f3a8b143b7dccfe93e0ad4f48bae090cb6e3
--- /dev/null
+++ b/src/model_actions/model_names.rs
@@ -0,0 +1,38 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelNames" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+pub struct ModelNamesRequest;
+
+impl AnkiRequest for ModelNamesRequest {
+    type Response = Vec<String>;
+
+    const ACTION: &'static str = "modelNames";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_names_and_ids.rs b/src/model_actions/model_names_and_ids.rs
new file mode 100644
index 0000000000000000000000000000000000000000..c00c711e5bd2a5b8c0c0a64867afd2d54f538d1f
--- /dev/null
+++ b/src/model_actions/model_names_and_ids.rs
@@ -0,0 +1,40 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelNamesAndIds" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+pub struct ModelNamesAndIdsRequest;
+
+impl AnkiRequest for ModelNamesAndIdsRequest {
+    type Response = HashMap<String, usize>;
+
+    const ACTION: &'static str = "modelNamesAndIds";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_styling.rs b/src/model_actions/model_styling.rs
new file mode 100644
index 0000000000000000000000000000000000000000..8c27a27f7106843bad0d3a4b8d4089aed095c7a8
--- /dev/null
+++ b/src/model_actions/model_styling.rs
@@ -0,0 +1,45 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::{Deserialize, Serialize};
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelStyling" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelStylingRequest {
+    pub model_name: String,
+}
+#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelStylingResponse {
+    pub css: String,
+}
+impl AnkiRequest for ModelStylingRequest {
+    type Response = ModelStylingResponse;
+
+    const ACTION: &'static str = "modelStyling";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_template_add.rs b/src/model_actions/model_template_add.rs
new file mode 100644
index 0000000000000000000000000000000000000000..b46400a905b9dda19aabbe2ce0004b8f2b1f9ec9
--- /dev/null
+++ b/src/model_actions/model_template_add.rs
@@ -0,0 +1,44 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelTemplateAdd" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelTemplateAddRequest {
+    pub model_name: String,
+    pub template: HashMap<String, String>,
+}
+
+impl AnkiRequest for ModelTemplateAddRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelTemplateAdd";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_template_remove.rs b/src/model_actions/model_template_remove.rs
new file mode 100644
index 0000000000000000000000000000000000000000..d2eced895c0ff0b9d003c5b46ec118c633b6e190
--- /dev/null
+++ b/src/model_actions/model_template_remove.rs
@@ -0,0 +1,42 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelTemplateRemove" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelTemplateRemoveRequest {
+    pub model_name: String,
+    pub template_name: String,
+}
+
+impl AnkiRequest for ModelTemplateRemoveRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelTemplateRemove";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_template_rename.rs b/src/model_actions/model_template_rename.rs
new file mode 100644
index 0000000000000000000000000000000000000000..72d2a342f72143ee520c56d37d88c2c6e1223b8c
--- /dev/null
+++ b/src/model_actions/model_template_rename.rs
@@ -0,0 +1,42 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelTemplateRename" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelTemplateRenameRequest {
+    pub model_name: String,
+    pub old_template_name: String,
+    pub new_template_name: String,
+}
+impl AnkiRequest for ModelTemplateRenameRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelTemplateRename";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_template_reposition.rs b/src/model_actions/model_template_reposition.rs
new file mode 100644
index 0000000000000000000000000000000000000000..69ddec9ba1d87f51f1ad1ebdb056ac2918b1fb30
--- /dev/null
+++ b/src/model_actions/model_template_reposition.rs
@@ -0,0 +1,42 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelTemplateReposition" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelTemplateRepositionRequest {
+    pub model_name: String,
+    pub template_name: String,
+    pub index: usize,
+}
+impl AnkiRequest for ModelTemplateRepositionRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "modelTemplateReposition";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/model_templates.rs b/src/model_actions/model_templates.rs
new file mode 100644
index 0000000000000000000000000000000000000000..1224f17becfcebf1350fb7f81eda381d3cb18272
--- /dev/null
+++ b/src/model_actions/model_templates.rs
@@ -0,0 +1,43 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "modelTemplates" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct ModelTemplatesRequest {
+    pub model_name: String,
+}
+
+impl AnkiRequest for ModelTemplatesRequest {
+    type Response = HashMap<String, HashMap<String, String>>;
+
+    const ACTION: &'static str = "modelTemplates";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/update_model_styling.rs b/src/model_actions/update_model_styling.rs
new file mode 100644
index 0000000000000000000000000000000000000000..287caa3fedde7ff1e17a6e08e5d68951ab7de936
--- /dev/null
+++ b/src/model_actions/update_model_styling.rs
@@ -0,0 +1,46 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "updateModelStyling" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct UpdateModelStylingRequest {
+    pub model: UpdateModelStylingModelRequest,
+}
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct UpdateModelStylingModelRequest {
+    pub name: String,
+    pub css: String,
+}
+impl AnkiRequest for UpdateModelStylingRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "updateModelStyling";
+    const VERSION: u8 = 6;
+}
diff --git a/src/model_actions/update_model_templates.rs b/src/model_actions/update_model_templates.rs
new file mode 100644
index 0000000000000000000000000000000000000000..73004e7f71c8f69ceeee19b34aebb7650f407aea
--- /dev/null
+++ b/src/model_actions/update_model_templates.rs
@@ -0,0 +1,49 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 Codecrafter_404 <codecrafter_404@t-online.de>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+use std::collections::HashMap;
+
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "updateModelTemplates" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct UpdateModelTemplatesRequest {
+    pub model: UpdateModelTemplatesModelRequest,
+}
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct UpdateModelTemplatesModelRequest {
+    pub name: String,
+    pub templates: HashMap<String, HashMap<String, String>>,
+}
+
+impl AnkiRequest for UpdateModelTemplatesRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "updateModelTemplates";
+    const VERSION: u8 = 6;
+}
diff --git a/src/notes_actions/delete_notes.rs b/src/notes_actions/delete_notes.rs
new file mode 100644
index 0000000000000000000000000000000000000000..f3e1d3837aabc288a15b81eaaac3bb6f370b567a
--- /dev/null
+++ b/src/notes_actions/delete_notes.rs
@@ -0,0 +1,39 @@
+/*
+* The MIT License (MIT)
+*
+* Copyright (c) 2023 VaiTon <eyadlorenzo.issa@studio.unibo.it>
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy
+* of this software and associated documentation files (the "Software"), to deal
+* in the Software without restriction, including without limitation the rights
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+* copies of the Software, and to permit persons to whom the Software is
+* furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all
+* copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+use serde::Serialize;
+
+use crate::AnkiRequest;
+
+/// Parameters for the "deleteNotes" action in `AnkiConnect`.
+#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
+pub struct DeleteNotesRequest {
+    pub notes: Vec<usize>,
+}
+
+impl AnkiRequest for DeleteNotesRequest {
+    type Response = ();
+
+    const ACTION: &'static str = "deleteNotes";
+    const VERSION: u8 = 6;
+}
diff --git a/src/notes_actions/mod.rs b/src/notes_actions/mod.rs
index 4b8ff808bddc71265985b9097a10f4f39ae50f16..e0c67985b92b6cba3de3007032ff737a54b60675 100644
--- a/src/notes_actions/mod.rs
+++ b/src/notes_actions/mod.rs
@@ -21,5 +21,9 @@
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
+/// Deletes notes with the given ids. If a note has several cards associated with it, all associated cards will be deleted
+pub mod delete_notes;
+/// Returns an array of note IDs for a given query. Query syntax is documented [here](https://docs.ankiweb.net/searching.html).
 pub mod find_notes;
+/// Returns a list of objects containing for each note ID the note fields, tags, note type and the cards belonging to the note.
 pub mod notes_info;
diff --git a/src/notes_actions/notes_info.rs b/src/notes_actions/notes_info.rs
index 3882fd9cd7115287b58bb60ce14dc3538ab9e3ef..1ce42cfea8fc824f58c07e002685e958f92f67a1 100644
--- a/src/notes_actions/notes_info.rs
+++ b/src/notes_actions/notes_info.rs
@@ -22,6 +22,7 @@
 * SOFTWARE.
 */
 use serde::{Deserialize, Serialize};
+use std::collections::HashMap;
 
 use crate::AnkiRequest;
 
@@ -31,10 +32,21 @@ pub struct NotesInfoRequest {
 }
 
 #[derive(Default, Debug, Clone, PartialEq, Eq, Deserialize)]
-pub struct NotesInfoResponse(pub Vec<usize>);
+#[serde(rename_all = "camelCase")]
+pub struct NotesInfoResponse {
+    pub note_id: usize,
+    pub model_name: String,
+    pub tags: Vec<String>,
+    pub fields: HashMap<String, NotesInfoFieldsResponse>,
+}
+#[derive(Default, Debug, Clone, PartialEq, Eq, Deserialize)]
+pub struct NotesInfoFieldsResponse {
+    pub value: String,
+    pub order: usize,
+}
 
 impl AnkiRequest for NotesInfoRequest {
-    type Response = NotesInfoResponse;
+    type Response = Vec<NotesInfoResponse>;
 
     const ACTION: &'static str = "notesInfo";
     const VERSION: u8 = 6;