/// DeleteRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct DeleteRequest {
    pub id: String,
}
/// ListRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct ListRequest {
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
}
/// GetRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct GetRequest {
    pub id: String,
}
/// PatchRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct PatchRequest {
    /// the api version can only be patched on api links with a `pinned` policy
    #[serde(skip_serializing_if = "Option::is_none")]
    pub api_version: Option<crate::models::UpdateApiLinkApiVersion>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub build_request_enabled: Option<bool>,
    /// automatically add the sideko mock server as one of the server options when building a request in the api reference (requires mock server to be enabled on the linked Api Version)
    #[serde(skip_serializing_if = "Option::is_none")]
    pub include_mock_server: Option<bool>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub nav_label: Option<String>,
    /// defines how the link should be automatically updated as new API version are added
    #[serde(skip_serializing_if = "Option::is_none")]
    pub policy: Option<crate::models::ApiLinkPolicyEnum>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub slug: Option<String>,
    pub id: String,
}
/// CreateRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct CreateRequest {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub build_request_enabled: Option<bool>,
    pub doc_version_id: String,
    pub group_id: String,
    /// automatically add the sideko mock server as one of the server options when building a request in the api reference (requires mock server to be enabled on the linked Api Version)
    #[serde(skip_serializing_if = "Option::is_none")]
    pub include_mock_server: Option<bool>,
    pub nav_label: String,
    pub policy: crate::models::NewApiLinkPolicy,
    pub slug: String,
}
/// ReorderRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct ReorderRequest {
    pub doc_version_id: String,
    pub groups: Vec<crate::models::ApiLinkGroupReorder>,
    pub links: Vec<crate::models::ApiLinkReorder>,
}
