# Reference
## Auth
<details><summary><code>client.auth.<a href="/src/api/resources/auth/client.rs">register</a>(request: PostAuthRegisterRequest) -> Result<PostAuthRegisterResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.auth
.register(
&PostAuthRegisterRequest {
username: "username".to_string(),
email: "email".to_string(),
password: "password".to_string(),
display_name: None,
roles: None,
bio: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**username:** `String` — Username
</dd>
</dl>
<dl>
<dd>
**email:** `String` — Email
</dd>
</dl>
<dl>
<dd>
**display_name:** `Option<String>` — Display Name
</dd>
</dl>
<dl>
<dd>
**password:** `String` — Password (min 8 chars)
</dd>
</dl>
<dl>
<dd>
**roles:** `Option<Vec<String>>` — Roles
</dd>
</dl>
<dl>
<dd>
**bio:** `Option<String>` — Bio
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.auth.<a href="/src/api/resources/auth/client.rs">login</a>(request: PostAuthLoginRequest) -> Result<PostAuthLoginResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.auth
.login(
&PostAuthLoginRequest {
login: "login".to_string(),
password: "password".to_string(),
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**login:** `String` — Username or Email
</dd>
</dl>
<dl>
<dd>
**password:** `String` — Password
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.auth.<a href="/src/api/resources/auth/client.rs">get_current_user</a>() -> Result<GetAuthMeResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.auth.get_current_user(None).await;
}
```
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.auth.<a href="/src/api/resources/auth/client.rs">request_password_reset</a>(request: PostAuthForgotPasswordRequest) -> Result<PostAuthForgotPasswordResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.auth
.request_password_reset(
&PostAuthForgotPasswordRequest {
email: "email".to_string(),
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**email:** `String` — User Email
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.auth.<a href="/src/api/resources/auth/client.rs">reset_password</a>(request: PostAuthResetPasswordRequest) -> Result<PostAuthResetPasswordResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.auth
.reset_password(
&PostAuthResetPasswordRequest {
password: "password".to_string(),
old_password: None,
email: None,
token: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**password:** `String` — New Password (min 8 chars)
</dd>
</dl>
<dl>
<dd>
**old_password:** `Option<String>` — Old Password (for change password)
</dd>
</dl>
<dl>
<dd>
**email:** `Option<String>` — Email (required if using oldPassword)
</dd>
</dl>
<dl>
<dd>
**token:** `Option<String>` — Reset Token
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Tags
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">list_all_tags</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetTagsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.list_all_tags(
&ListAllTagsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">create_a_tag</a>(request: PostTagsRequest) -> Result<PostTagsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.create_a_tag(
&PostTagsRequest {
name: "name".to_string(),
slug: None,
description: None,
color: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**name:** `String` — Tag name
</dd>
</dl>
<dl>
<dd>
**slug:** `Option<String>` — Tag slug (unique identifier)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Tag description
</dd>
</dl>
<dl>
<dd>
**color:** `Option<String>` — Hex color code
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">get_a_tag</a>(id: String) -> Result<GetTagsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.tags.get_a_tag(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">delete_a_tag</a>(id: String) -> Result<DeleteTagsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.tags.delete_a_tag(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">update_a_tag</a>(id: String, request: PatchTagsIDRequest) -> Result<PatchTagsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.update_a_tag(
&"id".to_string(),
&PatchTagsIDRequest {
name: None,
slug: None,
description: None,
color: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**name:** `Option<String>` — Tag name
</dd>
</dl>
<dl>
<dd>
**slug:** `Option<String>` — Tag slug (unique identifier)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Tag description
</dd>
</dl>
<dl>
<dd>
**color:** `Option<String>` — Hex color code
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">list_tag_subscribers</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetTagsIDSubscribersResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.list_tag_subscribers(
&"id".to_string(),
&ListTagSubscribersQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Tag ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">get_a_subscriber_from_tag</a>(id: String, sub_id: String) -> Result<GetTagsIDSubscribersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.get_a_subscriber_from_tag(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Tag ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Subscriber ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.tags.<a href="/src/api/resources/tags/client.rs">delete_a_subscriber_from_tag</a>(id: String, sub_id: String) -> Result<DeleteTagsIDSubscribersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.tags
.delete_a_subscriber_from_tag(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Tag ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Subscriber ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Threads
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">list_all_threads</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetThreadsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.list_all_threads(
&ListAllThreadsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">create_a_thread</a>(request: PostThreadsRequest) -> Result<PostThreadsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::{PostThreadsRequestPoll, PostThreadsRequestPollOptionsItem};
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.create_a_thread(
&PostThreadsRequest {
title: "title".to_string(),
body: "body".to_string(),
user_id: None,
tags: None,
poll: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**title:** `String` — Thread title
</dd>
</dl>
<dl>
<dd>
**body:** `String` — Thread content (Markdown supported)
</dd>
</dl>
<dl>
<dd>
**user_id:** `Option<String>` — Author user ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**tags:** `Option<Vec<String>>` — List of tag slugs, names, or IDs to attach
</dd>
</dl>
<dl>
<dd>
**poll:** `Option<PostThreadsRequestPoll>` — Poll data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">get_a_thread</a>(id: String) -> Result<GetThreadsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.threads.get_a_thread(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">delete_a_thread</a>(id: String) -> Result<DeleteThreadsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.delete_a_thread(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">update_a_thread</a>(id: String, request: PatchThreadsIDRequest) -> Result<PatchThreadsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.update_a_thread(
&"id".to_string(),
&PatchThreadsIDRequest {
title: None,
body: None,
locked: None,
pinned: None,
tags: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**title:** `Option<String>` — New title
</dd>
</dl>
<dl>
<dd>
**body:** `Option<String>` — New content
</dd>
</dl>
<dl>
<dd>
**locked:** `Option<bool>` — Lock/unlock thread
</dd>
</dl>
<dl>
<dd>
**pinned:** `Option<bool>` — Pin/unpin thread
</dd>
</dl>
<dl>
<dd>
**tags:** `Option<Vec<String>>` — Update tags by slug, name, or ID
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Update extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">list_thread_posts</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetThreadsIDPostsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.list_thread_posts(
&"id".to_string(),
&ListThreadPostsQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">get_a_post_from_thread</a>(id: String, sub_id: String) -> Result<GetThreadsIDPostsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.get_a_post_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Post ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">delete_a_post_from_thread</a>(id: String, sub_id: String) -> Result<DeleteThreadsIDPostsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.delete_a_post_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Post ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">list_thread_reactions</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetThreadsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.list_thread_reactions(
&"id".to_string(),
&ListThreadReactionsQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">create_a_reaction_in_thread</a>(id: String, request: PostThreadsIDReactionsRequest) -> Result<PostThreadsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::PostThreadsIDReactionsRequestType;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.create_a_reaction_in_thread(
&"id".to_string(),
&PostThreadsIDReactionsRequest {
r#type: PostThreadsIDReactionsRequestType::Like,
user_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**type:** `PostThreadsIDReactionsRequestType` — Type of reaction
</dd>
</dl>
<dl>
<dd>
**user_id:** `Option<String>` — User ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Additional custom data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">remove_your_reaction_from_thread</a>(id: String) -> Result<DeleteThreadsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 📝 Description
<dl>
<dd>
<dl>
<dd>
Removes the authenticated user's reaction. No subId needed.
</dd>
</dl>
</dd>
</dl>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.remove_your_reaction_from_thread(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">get_a_reaction_from_thread</a>(id: String, sub_id: String) -> Result<GetThreadsIDReactionsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.get_a_reaction_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reaction ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">delete_a_reaction_from_thread</a>(id: String, sub_id: String) -> Result<DeleteThreadsIDReactionsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.delete_a_reaction_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reaction ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">list_thread_subscribers</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetThreadsIDSubscribersResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.list_thread_subscribers(
&"id".to_string(),
&ListThreadSubscribersQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">get_a_subscriber_from_thread</a>(id: String, sub_id: String) -> Result<GetThreadsIDSubscribersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.get_a_subscriber_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Subscriber ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">delete_a_subscriber_from_thread</a>(id: String, sub_id: String) -> Result<DeleteThreadsIDSubscribersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.delete_a_subscriber_from_thread(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Subscriber ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">get_thread_poll</a>(id: String) -> Result<GetThreadsIDPollResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.get_thread_poll(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">create_thread_poll</a>(id: String, request: PostThreadsIDPollRequest) -> Result<PostThreadsIDPollResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::PostThreadsIDPollRequestOptionsItem;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.create_thread_poll(
&"id".to_string(),
&PostThreadsIDPollRequest {
title: "title".to_string(),
options: vec![PostThreadsIDPollRequestOptionsItem {
title: "title".to_string(),
color: None,
extended_data: None,
}],
expires_at: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**title:** `String` — Poll question/title
</dd>
</dl>
<dl>
<dd>
**options:** `Vec<PostThreadsIDPollRequestOptionsItem>` — Poll options (2-20)
</dd>
</dl>
<dl>
<dd>
**expires_at:** `Option<String>` — Optional expiration time
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Additional custom data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.threads.<a href="/src/api/resources/threads/client.rs">update_thread_poll</a>(id: String, request: PatchThreadsIDPollRequest) -> Result<PatchThreadsIDPollResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.threads
.update_thread_poll(
&"id".to_string(),
&PatchThreadsIDPollRequest {
title: None,
closed: None,
expires_at: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Thread ID
</dd>
</dl>
<dl>
<dd>
**title:** `Option<String>` — Poll question/title
</dd>
</dl>
<dl>
<dd>
**closed:** `Option<bool>` — Close the poll
</dd>
</dl>
<dl>
<dd>
**expires_at:** `Option<String>` — Optional expiration time
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Additional custom data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Posts
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">list_all_posts</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetPostsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.list_all_posts(
&ListAllPostsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">create_a_post</a>(request: PostPostsRequest) -> Result<PostPostsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.create_a_post(
&PostPostsRequest {
thread_id: "threadId".to_string(),
body: "body".to_string(),
user_id: None,
parent_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**thread_id:** `String` — Thread ID to post in
</dd>
</dl>
<dl>
<dd>
**body:** `String` — Post content (Markdown supported)
</dd>
</dl>
<dl>
<dd>
**user_id:** `Option<String>` — Author user ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**parent_id:** `Option<String>` — Parent post ID for threading
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">get_a_post</a>(id: String) -> Result<GetPostsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.posts.get_a_post(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">delete_a_post</a>(id: String) -> Result<DeletePostsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.posts.delete_a_post(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">update_a_post</a>(id: String, request: PatchPostsIDRequest) -> Result<PatchPostsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.update_a_post(
&"id".to_string(),
&PatchPostsIDRequest {
body: None,
thread_id: None,
parent_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**body:** `Option<String>` — Updated post content
</dd>
</dl>
<dl>
<dd>
**thread_id:** `Option<String>` — Move post to another thread
</dd>
</dl>
<dl>
<dd>
**parent_id:** `Option<String>` — Change parent post
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Update extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">list_post_reactions</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetPostsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.list_post_reactions(
&"id".to_string(),
&ListPostReactionsQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">create_a_reaction_in_post</a>(id: String, request: PostPostsIDReactionsRequest) -> Result<PostPostsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::PostPostsIDReactionsRequestType;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.create_a_reaction_in_post(
&"id".to_string(),
&PostPostsIDReactionsRequest {
r#type: PostPostsIDReactionsRequestType::Like,
user_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**type:** `PostPostsIDReactionsRequestType` — Type of reaction
</dd>
</dl>
<dl>
<dd>
**user_id:** `Option<String>` — User ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Additional custom data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">remove_your_reaction_from_post</a>(id: String) -> Result<DeletePostsIDReactionsResponse, ApiError></code></summary>
<dl>
<dd>
#### 📝 Description
<dl>
<dd>
<dl>
<dd>
Removes the authenticated user's reaction. No subId needed.
</dd>
</dl>
</dd>
</dl>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.remove_your_reaction_from_post(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">get_a_reaction_from_post</a>(id: String, sub_id: String) -> Result<GetPostsIDReactionsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.get_a_reaction_from_post(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reaction ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">delete_a_reaction_from_post</a>(id: String, sub_id: String) -> Result<DeletePostsIDReactionsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.delete_a_reaction_from_post(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reaction ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">list_post_posts</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetPostsIDPostsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.list_post_posts(
&"id".to_string(),
&ListPostPostsQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">get_a_post_from_post</a>(id: String, sub_id: String) -> Result<GetPostsIDPostsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.get_a_post_from_post(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Post ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.posts.<a href="/src/api/resources/posts/client.rs">delete_a_post_from_post</a>(id: String, sub_id: String) -> Result<DeletePostsIDPostsSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.posts
.delete_a_post_from_post(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Post ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Post ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## PrivateMessages
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">list_all_private_messages</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetPrivateMessagesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.list_all_private_messages(
&ListAllPrivateMessagesQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">create_a_private_message</a>(request: PostPrivateMessagesRequest) -> Result<PostPrivateMessagesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.create_a_private_message(
&PostPrivateMessagesRequest {
recipient_id: "recipientId".to_string(),
body: "body".to_string(),
sender_id: None,
title: None,
parent_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**recipient_id:** `String` — Recipient User ID
</dd>
</dl>
<dl>
<dd>
**sender_id:** `Option<String>` — Sender user ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**title:** `Option<String>` — Message title (optional for replies)
</dd>
</dl>
<dl>
<dd>
**body:** `String` — Message content
</dd>
</dl>
<dl>
<dd>
**parent_id:** `Option<String>` — Parent Message ID (for replies)
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">get_a_private_message</a>(id: String) -> Result<GetPrivateMessagesIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.get_a_private_message(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">delete_a_private_message</a>(id: String) -> Result<DeletePrivateMessagesIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.delete_a_private_message(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">list_private_message_replies</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetPrivateMessagesIDRepliesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.list_private_message_replies(
&"id".to_string(),
&ListPrivateMessageRepliesQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Private Message ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">create_a_reply_in_private_message</a>(id: String, request: PostPrivateMessagesIDRepliesRequest) -> Result<PostPrivateMessagesIDRepliesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.create_a_reply_in_private_message(
&"id".to_string(),
&PostPrivateMessagesIDRepliesRequest {
recipient_id: "recipientId".to_string(),
body: "body".to_string(),
sender_id: None,
title: None,
parent_id: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Private Message ID
</dd>
</dl>
<dl>
<dd>
**recipient_id:** `String` — Recipient User ID
</dd>
</dl>
<dl>
<dd>
**sender_id:** `Option<String>` — Sender user ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**title:** `Option<String>` — Message title (optional for replies)
</dd>
</dl>
<dl>
<dd>
**body:** `String` — Message content
</dd>
</dl>
<dl>
<dd>
**parent_id:** `Option<String>` — Parent Message ID (for replies)
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">get_a_reply_from_private_message</a>(id: String, sub_id: String) -> Result<GetPrivateMessagesIDRepliesSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.get_a_reply_from_private_message(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Private Message ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reply ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.private_messages.<a href="/src/api/resources/private_messages/client.rs">delete_a_reply_from_private_message</a>(id: String, sub_id: String) -> Result<DeletePrivateMessagesIDRepliesSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.private_messages
.delete_a_reply_from_private_message(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Private Message ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Reply ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Users
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">list_all_users</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetUsersResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.list_all_users(
&ListAllUsersQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">get_a_user</a>(id: String) -> Result<GetUsersIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.users.get_a_user(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">delete_a_user</a>(id: String) -> Result<DeleteUsersIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.users.delete_a_user(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">update_a_user</a>(id: String, request: PatchUsersIDRequest) -> Result<PatchUsersIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.update_a_user(
&"id".to_string(),
&PatchUsersIDRequest {
display_name: None,
bio: None,
signature: None,
username: None,
email: None,
password: None,
url: None,
extended_data: None,
roles: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**display_name:** `Option<String>` — Display name
</dd>
</dl>
<dl>
<dd>
**bio:** `Option<String>` — User bio
</dd>
</dl>
<dl>
<dd>
**signature:** `Option<String>` — Forum signature
</dd>
</dl>
<dl>
<dd>
**username:** `Option<String>` — Username (letters, numbers, underscores, hyphens)
</dd>
</dl>
<dl>
<dd>
**email:** `Option<String>` — Email address
</dd>
</dl>
<dl>
<dd>
**password:** `Option<String>` — New password
</dd>
</dl>
<dl>
<dd>
**url:** `Option<String>` — Website URL
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
<dl>
<dd>
**roles:** `Option<Vec<String>>` — Role slugs (admin only)
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">list_user_followers</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetUsersIDFollowersResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.list_user_followers(
&"id".to_string(),
&ListUserFollowersQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">get_a_follower_from_user</a>(id: String, sub_id: String) -> Result<GetUsersIDFollowersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.get_a_follower_from_user(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Follower ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">delete_a_follower_from_user</a>(id: String, sub_id: String) -> Result<DeleteUsersIDFollowersSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.delete_a_follower_from_user(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Follower ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">list_user_following</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetUsersIDFollowingResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.list_user_following(
&"id".to_string(),
&ListUserFollowingQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">get_a_following_from_user</a>(id: String, sub_id: String) -> Result<GetUsersIDFollowingSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.get_a_following_from_user(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Following ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.users.<a href="/src/api/resources/users/client.rs">delete_a_following_from_user</a>(id: String, sub_id: String) -> Result<DeleteUsersIDFollowingSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.users
.delete_a_following_from_user(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — User ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Following ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Roles
<details><summary><code>client.roles.<a href="/src/api/resources/roles/client.rs">list_all_roles</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetRolesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.roles
.list_all_roles(
&ListAllRolesQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.roles.<a href="/src/api/resources/roles/client.rs">create_a_role</a>(request: PostRolesRequest) -> Result<PostRolesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.roles
.create_a_role(
&PostRolesRequest {
name: "name".to_string(),
slug: None,
description: None,
color: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**name:** `String` — Role name
</dd>
</dl>
<dl>
<dd>
**slug:** `Option<String>` — Role slug (unique identifier)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Role description
</dd>
</dl>
<dl>
<dd>
**color:** `Option<String>` — Role color hex
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.roles.<a href="/src/api/resources/roles/client.rs">get_a_role</a>(id: String) -> Result<GetRolesIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.roles.get_a_role(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.roles.<a href="/src/api/resources/roles/client.rs">delete_a_role</a>(id: String) -> Result<DeleteRolesIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.roles.delete_a_role(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.roles.<a href="/src/api/resources/roles/client.rs">update_a_role</a>(id: String, request: PatchRolesIDRequest) -> Result<PatchRolesIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.roles
.update_a_role(
&"id".to_string(),
&PatchRolesIDRequest {
name: None,
slug: None,
description: None,
color: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**name:** `Option<String>` — Role name
</dd>
</dl>
<dl>
<dd>
**slug:** `Option<String>` — Role slug (unique identifier)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Role description
</dd>
</dl>
<dl>
<dd>
**color:** `Option<String>` — Role color hex
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Reports
<details><summary><code>client.reports.<a href="/src/api/resources/reports/client.rs">list_all_reports</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetReportsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.reports
.list_all_reports(
&ListAllReportsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.reports.<a href="/src/api/resources/reports/client.rs">create_a_report</a>(request: PostReportsRequest) -> Result<PostReportsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.reports
.create_a_report(
&PostReportsRequest {
r#type: "type".to_string(),
description: None,
user_id: None,
reported_id: None,
thread_id: None,
post_id: None,
private_message_id: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**type:** `String` — Report type (e.g. spam, abuse)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Reason for reporting
</dd>
</dl>
<dl>
<dd>
**user_id:** `Option<String>` — Reporter user ID (required for API key auth, ignored for JWT auth)
</dd>
</dl>
<dl>
<dd>
**reported_id:** `Option<String>` — ID of user being reported
</dd>
</dl>
<dl>
<dd>
**thread_id:** `Option<String>` — ID of thread being reported
</dd>
</dl>
<dl>
<dd>
**post_id:** `Option<String>` — ID of post being reported
</dd>
</dl>
<dl>
<dd>
**private_message_id:** `Option<String>` — ID of private message being reported
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.reports.<a href="/src/api/resources/reports/client.rs">get_a_report</a>(id: String) -> Result<GetReportsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.reports.get_a_report(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.reports.<a href="/src/api/resources/reports/client.rs">delete_a_report</a>(id: String) -> Result<DeleteReportsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.reports
.delete_a_report(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Notifications
<details><summary><code>client.notifications.<a href="/src/api/resources/notifications/client.rs">list_all_notifications</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetNotificationsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.notifications
.list_all_notifications(
&ListAllNotificationsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.notifications.<a href="/src/api/resources/notifications/client.rs">create_a_notification</a>(request: PostNotificationsRequest) -> Result<PostNotificationsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::PostNotificationsRequestStatus;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.notifications
.create_a_notification(
&PostNotificationsRequest {
user_id: "userId".to_string(),
r#type: "type".to_string(),
notifier_id: None,
description: None,
thread_id: None,
post_id: None,
private_message_id: None,
status: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**user_id:** `String` — Target user ID to receive notification (maps to userId)
</dd>
</dl>
<dl>
<dd>
**notifier_id:** `Option<String>` — User ID who triggered the notification (optional, defaults to authenticated user)
</dd>
</dl>
<dl>
<dd>
**type:** `String` — Notification type (e.g. mention, reply, follow)
</dd>
</dl>
<dl>
<dd>
**description:** `Option<String>` — Notification text content
</dd>
</dl>
<dl>
<dd>
**thread_id:** `Option<String>` — Related thread ID
</dd>
</dl>
<dl>
<dd>
**post_id:** `Option<String>` — Related post ID
</dd>
</dl>
<dl>
<dd>
**private_message_id:** `Option<String>` — Related private message ID
</dd>
</dl>
<dl>
<dd>
**status:** `Option<PostNotificationsRequestStatus>` — Initial notification status
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Additional notification data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.notifications.<a href="/src/api/resources/notifications/client.rs">get_a_notification</a>(id: String) -> Result<GetNotificationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.notifications
.get_a_notification(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.notifications.<a href="/src/api/resources/notifications/client.rs">delete_a_notification</a>(id: String) -> Result<DeleteNotificationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.notifications
.delete_a_notification(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.notifications.<a href="/src/api/resources/notifications/client.rs">update_a_notification</a>(id: String, request: PatchNotificationsIDRequest) -> Result<PatchNotificationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
use foru_ms_sdk::PatchNotificationsIDRequestStatus;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.notifications
.update_a_notification(
&"id".to_string(),
&PatchNotificationsIDRequest {
status: None,
extended_data: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**status:** `Option<PatchNotificationsIDRequestStatus>` — Notification status
</dd>
</dl>
<dl>
<dd>
**extended_data:** `Option<std::collections::HashMap<String, serde_json::Value>>` — Update extended data
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Webhooks
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">list_all_webhooks</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetWebhooksResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.list_all_webhooks(
&ListAllWebhooksQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">create_a_webhook</a>(request: PostWebhooksRequest) -> Result<PostWebhooksResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.create_a_webhook(
&PostWebhooksRequest {
name: "name".to_string(),
url: "url".to_string(),
events: vec!["events".to_string()],
secret: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**name:** `String` — Webhook name
</dd>
</dl>
<dl>
<dd>
**url:** `String` — Target URL
</dd>
</dl>
<dl>
<dd>
**events:** `Vec<String>` — List of event types (e.g. post.created)
</dd>
</dl>
<dl>
<dd>
**secret:** `Option<String>` — Secret for signature verification (auto-generated if missing)
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">get_a_webhook</a>(id: String) -> Result<GetWebhooksIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.webhooks.get_a_webhook(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">delete_a_webhook</a>(id: String) -> Result<DeleteWebhooksIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.delete_a_webhook(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">list_webhook_deliveries</a>(id: String, cursor: Option<Option<String>>, limit: Option<Option<i64>>) -> Result<GetWebhooksIDDeliveriesResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.list_webhook_deliveries(
&"id".to_string(),
&ListWebhookDeliveriesQueryRequest {
cursor: None,
limit: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Webhook ID
</dd>
</dl>
<dl>
<dd>
**cursor:** `Option<String>` — Pagination cursor
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>` — Items per page
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">get_a_delivery_from_webhook</a>(id: String, sub_id: String) -> Result<GetWebhooksIDDeliveriesSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.get_a_delivery_from_webhook(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Webhook ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Delivery ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.webhooks.<a href="/src/api/resources/webhooks/client.rs">delete_a_delivery_from_webhook</a>(id: String, sub_id: String) -> Result<DeleteWebhooksIDDeliveriesSubIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.webhooks
.delete_a_delivery_from_webhook(&"id".to_string(), &"subId".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String` — Webhook ID
</dd>
</dl>
<dl>
<dd>
**sub_id:** `String` — Delivery ID
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## Integrations
<details><summary><code>client.integrations.<a href="/src/api/resources/integrations/client.rs">list_all_integrations</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetIntegrationsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.integrations
.list_all_integrations(
&ListAllIntegrationsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.integrations.<a href="/src/api/resources/integrations/client.rs">create_an_integration</a>(request: PostIntegrationsRequest) -> Result<PostIntegrationsResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.integrations
.create_an_integration(
&PostIntegrationsRequest {
r#type: "type".to_string(),
config: HashMap::from([("key".to_string(), serde_json::json!("value"))]),
enabled: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**type:** `String` — Integration type (e.g. slack, discord)
</dd>
</dl>
<dl>
<dd>
**config:** `std::collections::HashMap<String, serde_json::Value>` — JSON configuration
</dd>
</dl>
<dl>
<dd>
**enabled:** `Option<bool>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.integrations.<a href="/src/api/resources/integrations/client.rs">get_an_integration</a>(id: String) -> Result<GetIntegrationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.integrations
.get_an_integration(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.integrations.<a href="/src/api/resources/integrations/client.rs">delete_an_integration</a>(id: String) -> Result<DeleteIntegrationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.integrations
.delete_an_integration(&"id".to_string(), None)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.integrations.<a href="/src/api/resources/integrations/client.rs">update_an_integration</a>(id: String, request: PatchIntegrationsIDRequest) -> Result<PatchIntegrationsIDResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.integrations
.update_an_integration(
&"id".to_string(),
&PatchIntegrationsIDRequest {
name: None,
config: None,
active: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**name:** `Option<String>` — Integration name
</dd>
</dl>
<dl>
<dd>
**config:** `Option<std::collections::HashMap<String, serde_json::Value>>` — JSON configuration (merged with existing)
</dd>
</dl>
<dl>
<dd>
**active:** `Option<bool>` — Enable/disable integration
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
## SsOs
<details><summary><code>client.ss_os.<a href="/src/api/resources/ss_os/client.rs">list_all_ss_os</a>(page: Option<Option<i64>>, limit: Option<Option<i64>>, search: Option<Option<String>>) -> Result<GetSSOResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.ss_os
.list_all_ss_os(
&ListAllSsOsQueryRequest {
page: None,
limit: None,
search: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**page:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**limit:** `Option<i64>`
</dd>
</dl>
<dl>
<dd>
**search:** `Option<String>`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.ss_os.<a href="/src/api/resources/ss_os/client.rs">create_an_sso</a>(request: PostSSORequest) -> Result<PostSSOResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.ss_os
.create_an_sso(
&PostSSORequest {
name: "name".to_string(),
client_id: "clientId".to_string(),
client_secret: "clientSecret".to_string(),
issuer: "issuer".to_string(),
authorization_endpoint: "authorizationEndpoint".to_string(),
token_endpoint: "tokenEndpoint".to_string(),
user_info_endpoint: "userInfoEndpoint".to_string(),
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**name:** `String` — Provider name (e.g. Google)
</dd>
</dl>
<dl>
<dd>
**client_id:** `String`
</dd>
</dl>
<dl>
<dd>
**client_secret:** `String`
</dd>
</dl>
<dl>
<dd>
**issuer:** `String`
</dd>
</dl>
<dl>
<dd>
**authorization_endpoint:** `String`
</dd>
</dl>
<dl>
<dd>
**token_endpoint:** `String`
</dd>
</dl>
<dl>
<dd>
**user_info_endpoint:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.ss_os.<a href="/src/api/resources/ss_os/client.rs">get_an_sso</a>(id: String) -> Result<GetSsoIdResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.ss_os.get_an_sso(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.ss_os.<a href="/src/api/resources/ss_os/client.rs">delete_an_sso</a>(id: String) -> Result<DeleteSsoIdResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client.ss_os.delete_an_sso(&"id".to_string(), None).await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.ss_os.<a href="/src/api/resources/ss_os/client.rs">update_an_sso</a>(id: String, request: PatchSsoIdRequest) -> Result<PatchSsoIdResponse, ApiError></code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```rust
use foru_ms_sdk::prelude::*;
#[tokio::main]
async fn main() {
let config = ClientConfig {
api_key: Some("<value>".to_string()),
..Default::default()
};
let client = ForumClient::new(config).expect("Failed to build client");
client
.ss_os
.update_an_sso(
&"id".to_string(),
&PatchSsoIdRequest {
name: None,
domain: None,
client_id: None,
client_secret: None,
issuer: None,
authorization_endpoint: None,
token_endpoint: None,
user_info_endpoint: None,
active: None,
},
None,
)
.await;
}
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**id:** `String`
</dd>
</dl>
<dl>
<dd>
**name:** `Option<String>` — Provider name
</dd>
</dl>
<dl>
<dd>
**domain:** `Option<String>` — Email domain to match
</dd>
</dl>
<dl>
<dd>
**client_id:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**client_secret:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**issuer:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**authorization_endpoint:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**token_endpoint:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**user_info_endpoint:** `Option<String>`
</dd>
</dl>
<dl>
<dd>
**active:** `Option<bool>` — Enable/disable provider
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>