FastComments.com

FastComments Rust SDK


Това е официалният Rust SDK за FastComments.

Официален Rust SDK за API на FastComments

Репозитория

Вижте в GitHub


Инсталация Internal Link

cargo add fastcomments-sdk

SDK изисква Rust от изданието 2021 или по-ново.

Съдържание на библиотеката Internal Link


FastComments Rust SDK се състои от няколко модула:

  • Клиентски модул - Автоматично генериран API клиент за FastComments REST API-та

    • Пълни дефиниции на типовете за всички API модели
    • Както автентикирани (DefaultApi), така и публични (PublicApi) крайни точки
    • Пълна поддръжка на async/await с tokio
    • Вижте client/README.md за подробна документация на API-то
  • SSO модул - Сървърни помощни средства за Single Sign-On

    • Сигурно генериране на токени за удостоверяване на потребители
    • Поддръжка както на прост, така и на защитен режим на SSO
    • Подписване на токени, базирано на HMAC-SHA256
  • Основни типове - Споделени дефиниции на типове и помощни средства

    • Модели за коментари и структури за метаданни
    • Конфигурации на потребители и наематели
    • Помощни функции за често срещани операции

Бърз старт Internal Link

Използване на публичното API

use fastcomments_sdk::client::apis::configuration::Configuration;
use fastcomments_sdk::client::apis::public_api;

#[tokio::main]
async fn main() {
    // Създаване на конфигурация за API
    let config = Configuration::new();

    // Извличане на коментари за страница
    let result = public_api::get_comments_public(
        &config,
        public_api::GetCommentsPublicParams {
            tenant_id: "your-tenant-id".to_string(),
            urlid: Some("page-url-id".to_string()),
            url: None,
            count_only: None,
            skip: None,
            limit: None,
            sort_dir: None,
            page: None,
            sso_hash: None,
            simple_sso_hash: None,
            has_no_comment: None,
            has_comment: None,
            comment_id_filter: None,
            child_ids: None,
            start_date_time: None,
            starts_with: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Found {} comments", response.comments.len());
            for comment in response.comments {
                println!("Comment: {:?}", comment);
            }
        }
        Err(e) => eprintln!("Error fetching comments: {:?}", e),
    }
}

Използване на удостовереното API

use fastcomments_sdk::client::apis::configuration::{ApiKey, Configuration};
use fastcomments_sdk::client::apis::default_api;

#[tokio::main]
async fn main() {
    // Създаване на конфигурация с API ключ
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // Извличане на коментари чрез удостоверено API
    let result = default_api::get_comments(
        &config,
        default_api::GetCommentsParams {
            tenant_id: "your-tenant-id".to_string(),
            skip: None,
            limit: None,
            sort_dir: None,
            urlid: Some("page-url-id".to_string()),
            url: None,
            is_spam: None,
            user_id: None,
            all_comments: None,
            for_moderation: None,
            parent_id: None,
            is_flagged: None,
            is_flagged_tag: None,
            is_by_verified: None,
            is_pinned: None,
            asc: None,
            include_imported: None,
            origin: None,
            tags: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Total comments: {}", response.count);
            for comment in response.comments {
                println!("Comment ID: {}, Text: {}", comment.id, comment.comment);
            }
        }
        Err(e) => eprintln!("Error: {:?}", e),
    }
}

Използване на SSO за удостоверяване

use fastcomments_sdk::sso::{
    fastcomments_sso::FastCommentsSSO,
    secure_sso_user_data::SecureSSOUserData,
};

fn main() {
    let api_key = "your-api-key".to_string();

    // Създаване на защитени SSO данни за потребителя (само от страна на сървъра!)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // Идентификатор на потребителя
        "user@example.com".to_string(),   // Имейл
        "John Doe".to_string(),            // Потребителско име
        "https://example.com/avatar.jpg".to_string(), // URL на аватара
    );

    // Генериране на SSO токен
    let sso = FastCommentsSSO::new_secure(api_key, &user_data).unwrap();
    let token = sso.create_token().unwrap();

    println!("SSO Token: {}", token);
    // Предайте този токен на фронтенда си за удостоверяване
}

Чести проблеми Internal Link

401 Unauthorized грешки

Ако получавате грешки 401 при използване на автентикирано API:

  1. Проверете вашия API ключ: Уверете се, че използвате правилния API ключ от таблото за управление на FastComments
  2. Потвърдете tenant ID: Уверете се, че tenant ID съответства на вашия акаунт
  3. Формат на API ключа: API ключът трябва да бъде подаден в Configuration:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

Проблеми със SSO токените

Ако SSO токените не работят:

  1. Използвайте сигурен режим за продукция: Винаги използвайте FastCommentsSSO::new_secure() с вашия API ключ в продукционна среда
  2. Само от страна на сървъра: Генерирайте SSO токени на вашия сървър, никога не излагайте вашия API ключ на клиентите
  3. Проверете данните на потребителя: Уверете се, че всички задължителни полета (id, email, username) са предоставени

Грешки на асинхронния runtime

SDK използва tokio за асинхронни операции. Уверете се, че:

  1. Add tokio to your dependencies:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. Use the tokio runtime:

    #[tokio::main]
    async fn main() {
     // Вашият асинхронен код тук
    }

Бележки Internal Link

Идентификатори за излъчване

Ще видите, че трябва да подадете broadcastId в някои API извиквания. Когато получавате събития, ще получите този идентификатор обратно, така че да знаете да игнорирате събитието, ако възнамерявате да приложите промените оптимистично на клиента (което вероятно ще искате да направите, тъй като това предлага най-доброто преживяване). Подайте тук UUID. Идентификаторът трябва да е достатъчно уникален, за да не се появява два пъти в рамките на една сесия на браузъра.

aggregate Internal Link

Агрегира документи чрез групиране (ако е предоставен groupBy) и прилагане на множество операции. Поддържат се различни операции (напр. sum, countDistinct, avg и т.н.).

Параметри

Име Тип Задължително Описание
tenant_id String Да
aggregation_request models::AggregationRequest Да
parent_tenant_id String Не
include_stats bool Не

Отговор

Връща: AggregationResponse


get_audit_logs Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
limit f64 Не
skip f64 Не
order models::SortDir Не
after f64 Не
before f64 Не

Отговор

Връща: GetAuditLogs200Response

Пример

Пример за get_audit_logs
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetAuditLogsParams = GetAuditLogsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 limit: Some(100.0),
6 skip: Some(0.0),
7 order: Some(models::SortDir::Desc),
8 after: Some(1672531200.0),
9 before: Some(1675209600.0),
10 };
11 let response: GetAuditLogs200Response = get_audit_logs(&configuration, params).await?;
12 Ok(())
13}
14

block_from_comment_public Internal Link

Параметри

Name Type Required Description
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Не

Отговор

Връща: BlockFromCommentPublic200Response

Пример

block_from_comment_public Пример
Copy Copy
1
2pub async fn run_block_example() -> Result<(), Error> {
3 let params: BlockFromCommentPublicParams = BlockFromCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25-12345".to_string(),
6 public_block_from_comment_params: models::PublicBlockFromCommentParams {
7 reason: "Repeated promotional links".to_string(),
8 reporter_id: Some("reader-2048".to_string()),
9 permanent: Some(false),
10 },
11 sso: Some("sso:user:acme:2048".to_string()),
12 };
13 let response: BlockFromCommentPublic200Response = block_from_comment_public(&configuration, params).await?;
14 println!("{:#?}", response);
15 Ok(())
16}
17

un_block_comment_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Не

Отговор

Връща: UnBlockCommentPublic200Response

Пример

un_block_comment_public Пример
Copy Copy
1
2async fn run() -> Result<UnBlockCommentPublic200Response, Error> {
3 let params: UnBlockCommentPublicParams = UnBlockCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25/comment-98765".to_string(),
6 public_block_from_comment_params: models::PublicBlockFromCommentParams {
7 unblocked_by: "moderator@acme.com".to_string(),
8 reason: "Reviewed and determined not to be spam".to_string(),
9 },
10 sso: Some("sso-session-token-abc123".to_string()),
11 };
12 let response: UnBlockCommentPublic200Response = un_block_comment_public(&configuration, params).await?;
13 Ok(response)
14}
15

checked_comments_for_blocked Internal Link

Параметри

Name Type Required Description
tenant_id String Да
comment_ids String Да
sso String Не

Отговор

Връща: CheckedCommentsForBlocked200Response

Пример

Пример за checked_comments_for_blocked
Copy Copy
1
2async fn run_checked_comments() -> Result<CheckedCommentsForBlocked200Response, Error> {
3 let params: CheckedCommentsForBlockedParams = CheckedCommentsForBlockedParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_ids: "article-98765:12345,article-98765:67890".to_string(),
6 sso: Some("sso-uid-4821".to_string()),
7 };
8 let response: CheckedCommentsForBlocked200Response = checked_comments_for_blocked(&configuration, params).await?;
9 Ok(response)
10}
11

block_user_from_comment Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
block_from_comment_params models::BlockFromCommentParams Да
user_id String Не
anon_user_id String Не

Отговор

Връща: BlockFromCommentPublic200Response

Пример

Пример за block_user_from_comment
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: BlockUserFromCommentParams = BlockUserFromCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25/comment-842".to_string(),
6 block_from_comment_params: models::BlockFromCommentParams {
7 reason: Some("Repeated promotional links".to_string()),
8 duration_minutes: Some(7_200),
9 notify_user: Some(true),
10 },
11 user_id: Some("user-9812".to_string()),
12 anon_user_id: None,
13 };
14 let response: BlockFromCommentPublic200Response = block_user_from_comment(&configuration, params).await?;
15 Ok(())
16}
17

create_comment_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
broadcast_id String Да
comment_data models::CommentData Да
session_id String Не
sso String Не

Отговор

Връща: CreateCommentPublic200Response

Пример

Пример за create_comment_public
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateCommentPublicParams = CreateCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/politics/2026-election-coverage".to_string(),
6 broadcast_id: "live-coverage-2026-03-25".to_string(),
7 comment_data: models::CommentData {
8 content: "Insightful piece — appreciate the depth of reporting.".to_string(),
9 author_name: Some("Jane Doe".to_string()),
10 author_email: Some("jane.doe@acme.com".to_string()),
11 is_anonymous: Some(false),
12 parent_id: None,
13 metadata: None,
14 },
15 session_id: Some("sess_6f7e8d9c".to_string()),
16 sso: Some("sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
17 };
18 let resp: CreateCommentPublic200Response = create_comment_public(&configuration, params).await?;
19 Ok(())
20}
21

delete_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
context_user_id String Не
is_live bool Не

Отговор

Връща: DeleteComment200Response

Пример

Пример за delete_comment
Copy Copy
1
2async fn run_delete_comment() -> Result<DeleteComment200Response, Error> {
3 let params: DeleteCommentParams = DeleteCommentParams {
4 tenant_id: "acme-newsroom".to_string(),
5 id: "news/article-2026/comments/abc123".to_string(),
6 context_user_id: Some("user-789".to_string()),
7 is_live: Some(true),
8 };
9 let response: DeleteComment200Response = delete_comment(&configuration, params).await?;
10 Ok(response)
11}
12

delete_comment_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
edit_key String Не
sso String Не

Отговор

Връща: DeleteCommentPublic200Response

Пример

Пример за delete_comment_public
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentPublicParams = DeleteCommentPublicParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: String::from("news/article/2026/03/interesting-story#cmt-67890"),
6 broadcast_id: String::from("news-article-12345"),
7 edit_key: Some(String::from("editkey-3f2b9a")),
8 sso: Some(String::from("sso-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")),
9 };
10 let response: DeleteCommentPublic200Response = delete_comment_public(&configuration, params).await?;
11 Ok(())
12}
13

delete_comment_vote Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Yes
comment_id String Yes
vote_id String Yes
url_id String Yes
broadcast_id String Yes
edit_key String No
sso String No

Отговор

Връща: DeleteCommentVote200Response

Пример

Пример за delete_comment_vote
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentVoteParams = DeleteCommentVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 vote_id: "vote-67890".to_string(),
7 url_id: "news/world/article-2026".to_string(),
8 broadcast_id: "broadcast-1".to_string(),
9 edit_key: Some("editkey-abc123".to_string()),
10 sso: Some("sso-token-xyz".to_string()),
11 };
12 let response: DeleteCommentVote200Response = delete_comment_vote(&configuration, params).await?;
13 Ok(())
14}
15

flag_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: FlagComment200Response

Пример

Пример за flag_comment
Copy Copy
1
2async fn run() -> Result<FlagComment200Response, Error> {
3 let params: FlagCommentParams = FlagCommentParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 id: "comment-20260325-842".to_string(),
6 user_id: Some("user-7b2f3d".to_string()),
7 anon_user_id: Some("anon-1a2b3c".to_string()),
8 };
9 let resp: FlagComment200Response = flag_comment(&configuration, params).await?;
10 Ok(resp)
11}
12

get_comment Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Връща

Връща: GetComment200Response

Пример

get_comment Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetCommentParams = GetCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345/comment-6789".to_string(),
6 };
7 let _response: GetComment200Response = get_comment(&configuration, params).await?;
8 Ok(())
9}
10

get_comment_text Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
edit_key String Не
sso String Не

Отговор

Връща: GetCommentText200Response

Пример

Пример за get_comment_text
Copy Copy
1
2pub async fn run() -> Result<GetCommentText200Response, Error> {
3 let params: GetCommentTextParams = GetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-98765".to_string(),
6 edit_key: Some("edit_4f3d2b9a".to_string()),
7 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
8 };
9 let comment: GetCommentText200Response = get_comment_text(&configuration, params).await?;
10 Ok(comment)
11}
12

get_comment_vote_user_names Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
dir i32 Да
sso String Не

Отговор

Връща: GetCommentVoteUserNames200Response

Пример

get_comment_vote_user_names Пример
Copy Copy
1
2async fn fetch_vote_user_names() -> Result<GetCommentVoteUserNames200Response, Error> {
3 let params: GetCommentVoteUserNamesParams = GetCommentVoteUserNamesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: String::from("news/article-12345/comment-6789"),
6 dir: 1,
7 sso: Some(String::from("sso-token-01a2b3")),
8 };
9 let response: GetCommentVoteUserNames200Response =
10 get_comment_vote_user_names(&configuration, params).await?;
11 Ok(response)
12}
13

get_comments Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
page i32 Не
limit i32 Не
skip i32 Не
as_tree bool Не
skip_children i32 Не
limit_children i32 Не
max_tree_depth i32 Не
url_id String Не
user_id String Не
anon_user_id String Не
context_user_id String Не
hash_tag String Не
parent_id String Не
direction models::SortDirections Не

Отговор

Връща: GetComments200Response

Пример

get_comments Пример
Copy Copy
1
2async fn run_get_comments() -> Result<(), Error> {
3 let params: GetCommentsParams = GetCommentsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1),
6 limit: Some(25),
7 skip: Some(0),
8 as_tree: Some(true),
9 skip_children: Some(0),
10 limit_children: Some(5),
11 max_tree_depth: Some(3),
12 url_id: Some("news/article/technology/ai-ethics".to_string()),
13 user_id: Some("user_98765".to_string()),
14 anon_user_id: Some("anon_abc123".to_string()),
15 context_user_id: Some("moderator_12".to_string()),
16 hash_tag: Some("aiethics".to_string()),
17 parent_id: Some("comment_456".to_string()),
18 direction: None,
19 };
20 let comments: GetComments200Response = get_comments(&configuration, params).await?;
21 Ok(())
22}
23

get_comments_public Internal Link

req tenantId urlId

Параметри

Име Тип Задължителен Описание
tenant_id String Да
url_id String Да
page i32 Не
direction models::SortDirections Не
sso String Не
skip i32 Не
skip_children i32 Не
limit i32 Не
limit_children i32 Не
count_children bool Не
fetch_page_for_comment_id String Не
include_config bool Не
count_all bool Не
includei10n bool Не
locale String Не
modules String Не
is_crawler bool Не
include_notification_count bool Не
as_tree bool Не
max_tree_depth i32 Не
use_full_translation_ids bool Не
parent_id String Не
search_text String Не
hash_tags Vec Не
user_id String Не
custom_config_str String Не
after_comment_id String Не
before_comment_id String Не

Отговор

Връща: GetCommentsPublic200Response

Пример

Пример get_comments_public
Copy Copy
1
2async fn run() -> Result<GetCommentsPublic200Response, Error> {
3 let params: GetCommentsPublicParams = GetCommentsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/top-story".to_string(),
6 page: Some(1), direction: Some(models::SortDirections::Desc),
7 sso: None, skip: Some(0), skip_children: Some(0),
8 limit: Some(50), limit_children: Some(10), count_children: Some(true),
9 fetch_page_for_comment_id: None, include_config: Some(true), count_all: Some(false),
10 includei10n: Some(false), locale: Some("en-US".to_string()), modules: None,
11 is_crawler: Some(false), include_notification_count: Some(false), as_tree: Some(true),
12 max_tree_depth: Some(3), use_full_translation_ids: Some(false), parent_id: None,
13 search_text: Some("climate policy debate".to_string()), hash_tags: Some(vec!["breaking".to_string(), "policy".to_string()]),
14 user_id: None, custom_config_str: None, after_comment_id: None, before_comment_id: None,
15 };
16 let response: GetCommentsPublic200Response = get_comments_public(configuration, params).await?;
17 Ok(response)
18}
19

lock_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: LockComment200Response

Пример

Пример за lock_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: LockCommentParams = LockCommentParams {
4 tenant_id: String::from("acme-news-tenant"),
5 comment_id: String::from("cmt-20260325-789"),
6 broadcast_id: String::from("live/politics-debate-2026-03-25"),
7 sso: Some(String::from("sso-user-0a1b2c3d4e")),
8 };
9 let response: LockComment200Response = lock_comment(&configuration, params).await?;
10 Ok(())
11}
12

pin_comment Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: PinComment200Response

Пример

Пример за pin_comment
Copy Copy
1
2let params: PinCommentParams = PinCommentParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: "cmt-987654321".to_string(),
5 broadcast_id: "news/article/2026-03-25".to_string(),
6 sso: Some("user-12345-ssotoken".to_string()),
7};
8let response: PinComment200Response = pin_comment(&configuration, params).await?;
9

save_comment Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_comment_params models::CreateCommentParams Да
is_live bool Не
do_spam_check bool Не
send_emails bool Не
populate_notifications bool Не

Отговор

Връща: SaveComment200Response

Пример

Пример за save_comment
Copy Copy
1
2let create_comment: models::CreateCommentParams = models::CreateCommentParams {
3 thread_key: "news/article/2026/03/25/budget-reform".to_string(),
4 body: "Great breakdown of the proposed changes — very informative and balanced.".to_string(),
5 user_name: Some("Jane Doe".to_string()),
6 user_email: Some("jane.doe@acme-corp.com".to_string()),
7 user_id: Some("user-9876".to_string()),
8 parent_id: None,
9};
10
11let save_params: SaveCommentParams = SaveCommentParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_comment_params: create_comment,
14 is_live: Some(true),
15 do_spam_check: Some(true),
16 send_emails: Some(false),
17 populate_notifications: Some(true),
18};
19
20let saved: SaveComment200Response = save_comment(&configuration, save_params).await?;
21

save_comments_bulk Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_comment_params Vecmodels::CreateCommentParams Да
is_live bool Не
do_spam_check bool Не
send_emails bool Не
populate_notifications bool Не

Отговор

Връща: Vec<models::SaveComment200Response>

Пример

Пример за save_comments_bulk
Copy Copy
1
2let params: SaveCommentsBulkParams = SaveCommentsBulkParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_comment_params: vec![
5 models::CreateCommentParams {
6 thread_id: "news/article-2026-election".to_string(),
7 text: "Insightful reporting — thanks for the coverage!".to_string(),
8 author_name: "Jane Doe".to_string(),
9 author_email: "jane.doe@example.com".to_string(),
10 },
11 models::CreateCommentParams {
12 thread_id: "news/article-2026-election".to_string(),
13 text: "I disagree with the premise of this piece.".to_string(),
14 author_name: "John Smith".to_string(),
15 author_email: "john.smith@example.org".to_string(),
16 },
17 ],
18 is_live: Some(true),
19 do_spam_check: Some(true),
20 send_emails: Some(false),
21 populate_notifications: Some(true),
22};
23let saved: Vec<models::SaveComment200Response> = save_comments_bulk(&configuration, params).await?;
24

set_comment_text Internal Link

Параметри

Name Type Required Description
tenant_id String Да
comment_id String Да
broadcast_id String Да
comment_text_update_request models::CommentTextUpdateRequest Да
edit_key String Не
sso String Не

Отговор

Връща: SetCommentText200Response

Пример

Пример на set_comment_text
Copy Copy
1
2async fn update_comment_text() -> Result<(), Error> {
3 let params: SetCommentTextParams = SetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25/comment-6789".to_string(),
6 broadcast_id: "comments-broadcast-main".to_string(),
7 comment_text_update_request: models::CommentTextUpdateRequest {
8 text: "Updated comment: thank you @jane_doe — here's an update about #rustlang".to_string(),
9 ..Default::default()
10 },
11 edit_key: Some("editkey-9f8e7d6c".to_string()),
12 sso: Some("sso-token-abc123".to_string()),
13 };
14 let result: SetCommentText200Response = set_comment_text(configuration, params).await?;
15 println!("set_comment_text result: {:?}", result);
16 Ok(())
17}
18

un_block_user_from_comment Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
un_block_from_comment_params models::UnBlockFromCommentParams Да
user_id String Не
anon_user_id String Не

Отговор

Връща: UnBlockCommentPublic200Response

Пример

un_block_user_from_comment Пример
Copy Copy
1
2async fn run_unblock() -> Result<UnBlockCommentPublic200Response, Error> {
3 let unblock_body: models::UnBlockFromCommentParams = models::UnBlockFromCommentParams {
4 reason: Some(String::from("False positive - reviewed by moderator")),
5 moderator_id: Some(String::from("moderator-42")),
6 };
7 let params: UnBlockUserFromCommentParams = UnBlockUserFromCommentParams {
8 tenant_id: String::from("acme-corp-tenant"),
9 id: String::from("news/article/comments/abc123"),
10 un_block_from_comment_params: unblock_body,
11 user_id: Some(String::from("user-9876")),
12 anon_user_id: Some(String::from("anon-5f4d")),
13 };
14 let result: UnBlockCommentPublic200Response = un_block_user_from_comment(&configuration, params).await?;
15 Ok(result)
16}
17

un_flag_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: FlagComment200Response

Пример

un_flag_comment Пример
Copy Copy
1
2async fn example_unflag_comment() -> Result<FlagComment200Response, Error> {
3 let params = UnFlagCommentParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article/comment-12345"),
6 user_id: Some(String::from("reader-987")),
7 anon_user_id: None,
8 };
9 let response: FlagComment200Response = un_flag_comment(&configuration, params).await?;
10 Ok(response)
11}
12

un_lock_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: LockComment200Response

Пример

un_lock_comment Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UnLockCommentParams = UnLockCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-987654321".to_string(),
6 broadcast_id: "news/world-update-2026-04-25".to_string(),
7 sso: Some("sso-token-abcdef123456".to_string()),
8 };
9 let response: LockComment200Response = un_lock_comment(&configuration, params).await?;
10 let _ = response;
11 Ok(())
12}
13

un_pin_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: PinComment200Response

Пример

Пример за un_pin_comment
Copy Copy
1
2async fn run_unpin() -> Result<(), Error> {
3 let params: UnPinCommentParams = UnPinCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-20260325-7a9".to_string(),
6 broadcast_id: "news/homepage/launch-article".to_string(),
7 sso: Some("sso-jwt-user-0a1b2c3d".to_string()),
8 };
9 let response: PinComment200Response = un_pin_comment(&configuration, params).await?;
10 Ok(())
11}
12

update_comment Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
id String Да
updatable_comment_params models::UpdatableCommentParams Да
context_user_id String Не
do_spam_check bool Не
is_live bool Не

Отговор

Връща: FlagCommentPublic200Response

Пример

update_comment Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".into();
4 let comment_id: String = "news/article/12345-6789".into();
5 let context_user_id: String = "reader-42".into();
6
7 let updatable: models::UpdatableCommentParams = models::UpdatableCommentParams {
8 body: Some("Updated comment: I appreciate the clarification on this report.".into()),
9 is_edited: Some(true),
10 tags: Some(vec!["clarification".into(), "follow-up".into()]),
11 };
12
13 let params: UpdateCommentParams = UpdateCommentParams {
14 tenant_id,
15 id: comment_id,
16 updatable_comment_params: updatable,
17 context_user_id: Some(context_user_id),
18 do_spam_check: Some(true),
19 is_live: Some(false),
20 };
21
22 let response: FlagCommentPublic200Response = update_comment(&configuration, params).await?;
23 Ok(())
24}
25

vote_comment Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
url_id String Да
broadcast_id String Да
vote_body_params models::VoteBodyParams Да
session_id String Не
sso String Не

Отговор

Връща: VoteComment200Response

Пример

Пример на vote_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: VoteCommentParams = VoteCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 url_id: "news/politics/2026-election".to_string(),
7 broadcast_id: "broadcast-nytimes-001".to_string(),
8 vote_body_params: models::VoteBodyParams { ..Default::default() },
9 session_id: Some("sess-9f8e7d".to_string()),
10 sso: Some("user-42@example.com".to_string()),
11 };
12 let response: VoteComment200Response = vote_comment(&configuration, params).await?;
13 Ok(())
14}
15

add_domain_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
add_domain_config_params models::AddDomainConfigParams Да

Отговор

Връща: AddDomainConfig200Response


delete_domain_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
domain String Да

Отговор

Връща: DeleteDomainConfig200Response


get_domain_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
domain String Да

Отговор

Връща: GetDomainConfig200Response


get_domain_configs Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да

Отговор

Връща: GetDomainConfigs200Response


patch_domain_config Internal Link

Параметри

Name Type Required Description
tenant_id String Да
domain_to_update String Да
patch_domain_config_params models::PatchDomainConfigParams Да

Отговор

Връща: GetDomainConfig200Response


put_domain_config Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
domain_to_update String Да
update_domain_config_params models::UpdateDomainConfigParams Да

Отговор

Връща: GetDomainConfig200Response


create_email_template Internal Link

Параметри

Name Type Required Description
tenant_id String Да
create_email_template_body models::CreateEmailTemplateBody Да

Отговор

Връща: CreateEmailTemplate200Response

Пример

Пример за create_email_template
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateEmailTemplateParams = CreateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".into(),
5 create_email_template_body: models::CreateEmailTemplateBody {
6 name: "Article Comment Notification".into(),
7 subject: "New comment on your article".into(),
8 body_html: "<p>Hi {{recipient_name}},</p><p>{{comment_author}} left a comment on your article \"{{article_title}}\".</p>".into(),
9 from_name: Some("Acme News".into()),
10 from_email: Some("notifications@acme.example".into()),
11 reply_to: Some("no-reply@acme.example".into()),
12 enabled: Some(true),
13 tags: Some(vec!["comments".into(), "notifications".into()]),
14 },
15 };
16 let response: CreateEmailTemplate200Response = create_email_template(configuration, params).await?;
17 Ok(())
18}
19

delete_email_template Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_email_template
Copy Copy
1
2async fn run_delete_template() -> Result<(), Error> {
3 let params: DeleteEmailTemplateParams = DeleteEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let confirm_deletion: Option<bool> = Some(true);
8 let response: FlagCommentPublic200Response = delete_email_template(&configuration, params).await?;
9 Ok(())
10}
11

delete_email_template_render_error Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
error_id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_email_template_render_error Пример
Copy Copy
1
2let error_id_opt: Option<String> = Some("render-failure-9f3b".to_string());
3let params: DeleteEmailTemplateRenderErrorParams = DeleteEmailTemplateRenderErrorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email".to_string(),
6 error_id: error_id_opt.unwrap(),
7};
8let response: FlagCommentPublic200Response = delete_email_template_render_error(&configuration, params).await?;
9

get_email_template Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetEmailTemplate200Response

Пример

get_email_template Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let template_id: String = "welcome-new-subscriber".to_string();
5 let params: GetEmailTemplateParams = GetEmailTemplateParams {
6 tenant_id,
7 id: template_id,
8 locale: Some("en-US".to_string()),
9 };
10 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
11 let _ = template;
12 Ok(())
13}
14

get_email_template_definitions Internal Link

Parameters

Име Тип Задължително Описание
tenant_id String Да

Отговор

Връща: GetEmailTemplateDefinitions200Response

Пример

Пример за get_email_template_definitions
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetEmailTemplateDefinitionsParams = GetEmailTemplateDefinitionsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 locale: Some("en-US".to_string()),
6 include_inactive: Some(false),
7 };
8 let templates: GetEmailTemplateDefinitions200Response =
9 get_email_template_definitions(&configuration, params).await?;
10 Ok(())
11}
12

get_email_template_render_errors Internal Link

Parameters

Name Type Required Description
tenant_id String Да
id String Да
skip f64 Не

Response

Връща: GetEmailTemplateRenderErrors200Response

Example

Пример за get_email_template_render_errors
Copy Copy
1
2async fn run_example() -> Result<(), Error> {
3 let params: GetEmailTemplateRenderErrorsParams = GetEmailTemplateRenderErrorsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 skip: Some(10.0),
7 };
8 let response: GetEmailTemplateRenderErrors200Response =
9 get_email_template_render_errors(&configuration, params).await?;
10 Ok(())
11}
12

get_email_templates Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetEmailTemplates200Response

Пример

Пример за get_email_templates
Copy Copy
1
2async fn fetch_email_templates() -> Result<GetEmailTemplates200Response, Error> {
3 let params: GetEmailTemplatesParams = GetEmailTemplatesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let templates: GetEmailTemplates200Response = get_email_templates(&configuration, params).await?;
8 Ok(templates)
9}
10

render_email_template Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
render_email_template_body models::RenderEmailTemplateBody Да
locale String Не

Отговор

Връща: RenderEmailTemplate200Response

Пример

Пример за render_email_template
Copy Copy
1
2async fn example(configuration: &configuration::Configuration) -> Result<RenderEmailTemplate200Response, Error> {
3 let body = models::RenderEmailTemplateBody {
4 template_key: "welcome_email".to_string(),
5 subject: "Welcome to Acme News".to_string(),
6 from_address: "noreply@acme.com".to_string(),
7 placeholders: std::collections::HashMap::from([
8 ("user_name".to_string(), "Jane Doe".to_string()),
9 ("article_title".to_string(), "Breaking News: Rust Adoption Soars".to_string()),
10 ]),
11 };
12 let params = RenderEmailTemplateParams {
13 tenant_id: "acme-corp-tenant".to_string(),
14 render_email_template_body: body,
15 locale: Some("en-US".to_string()),
16 };
17 let rendered: RenderEmailTemplate200Response = render_email_template(configuration, params).await?;
18 Ok(rendered)
19}
20

update_email_template Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_email_template_body models::UpdateEmailTemplateBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

update_email_template Пример
Copy Copy
1
2async fn example_update_email_template() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 subject: "Welcome to Acme News".to_string(),
8 html_body: "<h1>Welcome, {{user_name}}</h1><p>Thanks for joining Acme.</p>".to_string(),
9 plain_body: Some("Welcome, {{user_name}}!\nThanks for joining Acme.".to_string()),
10 enabled: Some(true),
11 from_name: Some("Acme Support <support@acme.com>".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
15 Ok(response)
16}
17

get_event_log Internal Link

req tenantId urlId userIdWS

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
user_id_ws String Да
start_time i64 Да
end_time i64 Да

Отговор

Връща: GetEventLog200Response

Пример

Пример за get_event_log
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetEventLogParams = GetEventLogParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article-2023-01-01".to_string(),
6 user_id_ws: "user-12345-ws".to_string(),
7 start_time: 1672531200i64,
8 end_time: 1672617599i64,
9 include_details: Some(true),
10 };
11 let response: GetEventLog200Response = get_event_log(&configuration, params).await?;
12 Ok(())
13}
14

get_global_event_log Internal Link

req tenantId urlId userIdWS

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
user_id_ws String Да
start_time i64 Да
end_time i64 Да

Отговор

Връща: GetEventLog200Response

Пример

get_global_event_log Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let include_deleted: Option<bool> = Some(false);
4 let params: GetGlobalEventLogParams = GetGlobalEventLogParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 url_id: "news/article-123".to_string(),
7 user_id_ws: "user-789-ws".to_string(),
8 start_time: 1711411200i64,
9 end_time: 1711497599i64,
10 };
11 let response: GetEventLog200Response = get_global_event_log(&configuration, params).await?;
12 let _include_deleted = include_deleted;
13 Ok(())
14}
15

create_feed_post Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Не
is_live bool Не
do_spam_check bool Не
skip_dup_check bool Не

Отговор

Връща: CreateFeedPost200Response

Пример

Пример за create_feed_post
Copy Copy
1
2async fn create_post_example() -> Result<CreateFeedPost200Response, Error> {
3 let params = CreateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_feed_post_params: models::CreateFeedPostParams {
6 title: Some("Downtown Datacenter Outage".to_string()),
7 body: Some("Investigating a partial outage affecting login and API endpoints.".to_string()),
8 author_id: Some("ops-team".to_string()),
9 ..Default::default()
10 },
11 broadcast_id: Some("status-broadcast-2026-03-25".to_string()),
12 is_live: Some(true),
13 do_spam_check: Some(true),
14 skip_dup_check: Some(false),
15 };
16 let response: CreateFeedPost200Response = create_feed_post(&configuration, params).await?;
17 Ok(response)
18}
19

create_feed_post_public Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Не
sso String Не

Отговор

Връща: CreateFeedPostPublic200Response

Пример

create_feed_post_public Пример
Copy Copy
1
2let create_feed_post_params: models::CreateFeedPostParams = models::CreateFeedPostParams {
3 title: "Acme Product Launch".to_string(),
4 body: "We're excited to announce our new product line that will change the way teams collaborate.".to_string(),
5 slug: "news/product-launch".to_string(),
6 links: Some(vec![models::FeedPostLink { url: "https://acme.com/launch".to_string(), title: Some("Launch details".to_string()) }]),
7 media: Some(vec![models::FeedPostMediaItem { assets: Some(vec![models::FeedPostMediaItemAsset { url: "https://cdn.acme.com/images/launch.jpg".to_string(), mime_type: Some("image/jpeg".to_string()) }]), caption: Some("Hero image".to_string()) }]),
8 tags: Some(vec!["announcement".to_string(), "product".to_string()]),
9};
10
11let params: CreateFeedPostPublicParams = CreateFeedPostPublicParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_feed_post_params,
14 broadcast_id: Some("broadcast-2026-03-25".to_string()),
15 sso: Some("sso-token-xyz789".to_string()),
16};
17
18let response: CreateFeedPostPublic200Response = create_feed_post_public(&configuration, params).await?;
19

delete_feed_post_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_id String Да
broadcast_id String Не
sso String Не

Отговор

Връща: DeleteFeedPostPublic200Response

Пример

delete_feed_post_public Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteFeedPostPublicParams = DeleteFeedPostPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_id: "news/article-2026-03-25-12345".to_string(),
6 broadcast_id: Some("broadcast-9876".to_string()),
7 sso: Some("user-42-sso-token".to_string()),
8 };
9 let response: DeleteFeedPostPublic200Response = delete_feed_post_public(&configuration, params).await?;
10 Ok(())
11}
12

get_feed_posts Internal Link

req tenantId afterId

Параметри

Име Тип Задължително Описание
tenant_id String Да
after_id String Не
limit i32 Не
tags Vec Не

Отговор

Връща: GetFeedPosts200Response

Пример

get_feed_posts Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetFeedPostsParams = GetFeedPostsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_98765".to_string()),
6 limit: Some(20),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 };
9 let feed: GetFeedPosts200Response = get_feed_posts(&configuration, params).await?;
10 Ok(())
11}
12

get_feed_posts_public Internal Link

req tenantId afterId

Параметри

Име Тип Задължително Описание
tenant_id String Да
after_id String Не
limit i32 Не
tags Vec Не
sso String Не
is_crawler bool Не
include_user_info bool Не

Отговор

Връща: GetFeedPostsPublic200Response

Пример

Пример за get_feed_posts_public
Copy Copy
1
2async fn example() -> Result<GetFeedPostsPublic200Response, Error> {
3 let params: GetFeedPostsPublicParams = GetFeedPostsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_987654".to_string()),
6 limit: Some(25),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 sso: Some("sso-token-abc123".to_string()),
9 is_crawler: Some(false),
10 include_user_info: Some(true),
11 };
12 let response: GetFeedPostsPublic200Response = get_feed_posts_public(&configuration, params).await?;
13 Ok(response)
14}
15

get_feed_posts_stats Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_ids Vec Да
sso String Не

Отговор

Връща: GetFeedPostsStats200Response

Пример

get_feed_posts_stats Пример
Copy Copy
1
2async fn fetch_feed_stats() -> Result<(), Error> {
3 let params: GetFeedPostsStatsParams = GetFeedPostsStatsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: vec![
6 "news/article/2026/03/25/product-launch".to_string(),
7 "blog/product-updates/q1-2026".to_string(),
8 ],
9 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.examplepayload.signature".to_string()),
10 };
11 let stats: GetFeedPostsStats200Response = get_feed_posts_stats(&configuration, params).await?;
12 Ok(())
13}
14

get_user_reacts_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_ids Vec Не
sso String Не

Отговор

Връща: GetUserReactsPublic200Response

Пример

get_user_reacts_public Пример
Copy Copy
1
2async fn run() -> Result<GetUserReactsPublic200Response, Error> {
3 let params: GetUserReactsPublicParams = GetUserReactsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: Some(vec![
6 "news/article-123".to_string(),
7 "blog/post-456".to_string(),
8 ]),
9 sso: Some("john.doe@acme.com".to_string()),
10 };
11 let response: GetUserReactsPublic200Response = get_user_reacts_public(&configuration, params).await?;
12 Ok(response)
13}
14

react_feed_post_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_id String Да
react_body_params models::ReactBodyParams Да
is_undo bool Не
broadcast_id String Не
sso String Не

Отговор

Връща: ReactFeedPostPublic200Response

Пример

Пример за react_feed_post_public
Copy Copy
1
2let params: ReactFeedPostPublicParams = ReactFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/world/2026-election".to_string(),
5 react_body_params: models::ReactBodyParams { reaction: "like".to_string() },
6 is_undo: Some(false),
7 broadcast_id: Some("broadcast-2026-03-25".to_string()),
8 sso: Some("sso-token-6f4e2b".to_string()),
9};
10
11let response: ReactFeedPostPublic200Response = react_feed_post_public(&configuration, params).await?;
12

update_feed_post Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
feed_post models::FeedPost Да

Отговор

Връща: FlagCommentPublic200Response

Пример

update_feed_post Пример
Copy Copy
1
2async fn update_post_example() -> Result<(), Error> {
3 let params: UpdateFeedPostParams = UpdateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/rocket-launch-2026".to_string(),
6 feed_post: models::FeedPost {
7 title: Some("Rocket Launch Successful".to_string()),
8 body: Some("Acme Rockets launched the Atlas X at 10:00 UTC with no anomalies.".to_string()),
9 author: Some("Acme Newsroom".to_string()),
10 media: Some(vec![
11 models::FeedPostMediaItem {
12 url: Some("https://cdn.acme.com/images/launch.jpg".to_string()),
13 caption: Some("Moments before liftoff".to_string()),
14 asset: None
15 }
16 ]),
17 links: Some(vec![
18 models::FeedPostLink {
19 title: Some("Detailed Coverage".to_string()),
20 url: Some("https://news.acme.com/coverage/atlas-x-launch".to_string())
21 }
22 ]),
23 published: Some(true)
24 }
25 };
26 let response: FlagCommentPublic200Response = update_feed_post(&configuration, params).await?;
27 Ok(())
28}
29

update_feed_post_public Internal Link

Параметри

Name Type Required Description
tenant_id String Да
post_id String Да
update_feed_post_params models::UpdateFeedPostParams Да
broadcast_id String Не
sso String Не

Отговор

Връща: CreateFeedPostPublic200Response

Пример

Пример за update_feed_post_public
Copy Copy
1
2let params: UpdateFeedPostPublicParams = UpdateFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/article-2026-03-25".to_string(),
5 update_feed_post_params: models::UpdateFeedPostParams {
6 title: "Acme Widget Launch".to_string(),
7 body: "Acme today launched the next-generation Widget with improved performance and battery life.".to_string(),
8 tags: vec!["product".to_string(), "launch".to_string()],
9 media: vec![
10 models::FeedPostMediaItem {
11 url: "https://cdn.acme.com/images/widget-launch.jpg".to_string(),
12 asset: Some(models::FeedPostMediaItemAsset {
13 mime_type: "image/jpeg".to_string(),
14 size: Some(142000),
15 }),
16 }
17 ],
18 links: vec![
19 models::FeedPostLink {
20 url: "https://acme.com/blog/widget-launch".to_string(),
21 title: Some("Read the full announcement".to_string()),
22 }
23 ],
24 },
25 broadcast_id: Some("broadcast-2026-03".to_string()),
26 sso: Some("sso-token-9f8e7d".to_string()),
27};
28
29let response: CreateFeedPostPublic200Response = update_feed_post_public(configuration, params).await?;
30

flag_comment_public Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
is_flagged bool Да
sso String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример на flag_comment_public
Copy Copy
1
2async fn run_flag() -> Result<FlagCommentPublic200Response, Error> {
3 let params: FlagCommentPublicParams = FlagCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-8a7b6c".to_string(),
6 is_flagged: true,
7 sso: Some("sso-token-user-123".to_string()),
8 };
9 let response: FlagCommentPublic200Response = flag_comment_public(&configuration, params).await?;
10 Ok(response)
11}
12

add_hash_tag Internal Link

Параметри

Name Type Required Description
tenant_id String No
create_hash_tag_body models::CreateHashTagBody No

Отговор

Връща: AddHashTag200Response

Пример

add_hash_tag Пример
Copy Copy
1
2let params: AddHashTagParams = AddHashTagParams {
3 tenant_id: Some("acme-corp-tenant".to_string()),
4 create_hash_tag_body: Some(models::CreateHashTagBody {
5 tag: "breaking-news".to_string(),
6 display_name: Some("Breaking News".to_string()),
7 description: Some("Articles covering breaking news events".to_string()),
8 enabled: Some(true),
9 }),
10};
11
12let response: AddHashTag200Response = add_hash_tag(&configuration, params).await?;
13

add_hash_tags_bulk Internal Link

Параметри

Name Type Required Description
tenant_id String Не
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Не

Отговор

Връща: AddHashTagsBulk200Response

Пример

Пример за add_hash_tags_bulk
Copy Copy
1
2async fn add_tags_example() -> Result<(), Error> {
3 let body = BulkCreateHashTagsBody {
4 tags: vec![
5 BulkCreateHashTagsBodyTagsInner {
6 tag: "news/article".to_string(),
7 path: "site/news".to_string(),
8 description: Some("Articles and press releases".to_string()),
9 is_active: Some(true),
10 custom_config: Some(CustomConfigParameters { score: Some(0.85) }),
11 },
12 BulkCreateHashTagsBodyTagsInner {
13 tag: "product/launch".to_string(),
14 path: "site/products".to_string(),
15 description: Some("New product launches".to_string()),
16 is_active: Some(true),
17 custom_config: Some(CustomConfigParameters { score: Some(0.95) }),
18 },
19 ],
20 };
21 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
22 tenant_id: Some("acme-corp-tenant".to_string()),
23 bulk_create_hash_tags_body: Some(body),
24 };
25 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
26 Ok(())
27}
28

delete_hash_tag Internal Link

Параметри

Name Type Required Description
tag String Да
tenant_id String Не
delete_hash_tag_request models::DeleteHashTagRequest Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_hash_tag
Copy Copy
1
2async fn run_delete_tag(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params = DeleteHashTagParams {
4 tag: "news/world-climate".to_owned(),
5 tenant_id: Some("acme-corp-tenant".to_owned()),
6 delete_hash_tag_request: None,
7 };
8 let response: FlagCommentPublic200Response = delete_hash_tag(configuration, params).await?;
9 Ok(response)
10}
11

get_hash_tags Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
page f64 Не

Отговор

Връща: GetHashTags200Response

Пример

Пример за get_hash_tags
Copy Copy
1
2async fn fetch_hash_tags() -> Result<GetHashTags200Response, Error> {
3 let params: GetHashTagsParams = GetHashTagsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1.0),
6 };
7 let response: GetHashTags200Response = get_hash_tags(&configuration, params).await?;
8 Ok(response)
9}
10

patch_hash_tag Internal Link

Параметри

Име Тип Задължително Описание
tag String Да
tenant_id String Не
update_hash_tag_body models::UpdateHashTagBody Не

Отговор

Връща: PatchHashTag200Response

Пример

Пример за patch_hash_tag
Copy Copy
1
2let params: PatchHashTagParams = PatchHashTagParams {
3 tag: "news/article".to_string(),
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 update_hash_tag_body: Some(models::UpdateHashTagBody {
6 label: Some("World News".to_string()),
7 description: Some("Articles related to world events.".to_string()),
8 enabled: Some(true),
9 }),
10};
11
12let response: PatchHashTag200Response = patch_hash_tag(&configuration, params).await?
13

create_moderator Internal Link

Параметри

Name Type Required Description
tenant_id String Yes
create_moderator_body models::CreateModeratorBody Yes

Отговор

Връща: CreateModerator200Response

Пример

Пример за create_moderator
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 create_moderator_body: models::CreateModeratorBody {
6 username: String::from("jane.moderator"),
7 email: String::from("jane.moderator@acme.com"),
8 display_name: Some(String::from("Jane Moderator")),
9 sections: Some(vec![String::from("news/article"), String::from("forums/general")]),
10 active: Some(true),
11 notes: Some(String::from("Senior moderator, PST timezone")),
12 },
13 };
14 let response: CreateModerator200Response = create_moderator(&configuration, params).await?;
15 Ok(())
16}
17

delete_moderator Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
send_email String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_moderator Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteModeratorParams = DeleteModeratorParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("moderator-9876"),
6 send_email: Some(String::from("true")),
7 };
8
9 let response: FlagCommentPublic200Response = delete_moderator(&configuration, params).await?;
10 Ok(())
11}
12

get_moderator Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetModerator200Response

Пример

Пример за get_moderator
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-4521".to_string(),
6 include_permissions: Some(true),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

get_moderators Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetModerators200Response

Пример

get_moderators Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetModeratorsParams = GetModeratorsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let _moderators: GetModerators200Response = get_moderators(&configuration, params).await?;
8 Ok(())
9}
10

send_invite Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
from_name String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

send_invite Пример
Copy Copy
1
2async fn send_invite_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendInviteParams = SendInviteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25-modern-rust".to_string(),
6 from_name: "Acme Newsroom".to_string(),
7 message: Some("Please join the discussion on this article.".to_string()),
8 };
9 let response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
10 Ok(response)
11}
12

update_moderator Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_moderator_body models::UpdateModeratorBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

update_moderator Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateModeratorParams = UpdateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-987".to_string(),
6 update_moderator_body: models::UpdateModeratorBody {
7 username: Some("jane.doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 role: Some("senior_moderator".to_string()),
10 active: Some(true),
11 notes: Some("Promoted after successful trial period".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
15 Ok(())
16}
17

delete_notification_count Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_notification_count
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("notification-9876"),
6 user_id: Some(String::from("user-1234")),
7 };
8 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
9 Ok(response)
10}
11

get_cached_notification_count Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetCachedNotificationCount200Response

Пример

get_cached_notification_count Пример
Copy Copy
1
2pub async fn example_get_cached_notification_count(configuration: &configuration::Configuration) -> Result<GetCachedNotificationCount200Response, Error> {
3 let params: GetCachedNotificationCountParams = GetCachedNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 };
7 let response: GetCachedNotificationCount200Response = get_cached_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

get_notification_count Internal Link

Параметри

Name Type Required Description
tenant_id String Yes
user_id String No
url_id String No
from_comment_id String No
viewed bool No

Отговор

Връща: GetNotificationCount200Response

Пример

Пример за get_notification_count
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-67890".to_string()),
6 url_id: Some("news/2026/03/25/election-updates".to_string()),
7 from_comment_id: Some("cmt_42".to_string()),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(())
12}
13

get_notifications Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не
url_id String Не
from_comment_id String Не
viewed bool Не
skip f64 Не

Отговор

Връща: GetNotifications200Response

Пример

Пример за get_notifications
Copy Copy
1
2async fn fetch_notifications() -> Result<(), Error> {
3 let params: GetNotificationsParams = GetNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-12345".to_owned()),
6 url_id: Some("news/article/2026/03/25/major-update".to_owned()),
7 from_comment_id: Some("cmt-98765".to_owned()),
8 viewed: Some(false),
9 skip: Some(0.0),
10 };
11 let notifications: GetNotifications200Response = get_notifications(&configuration, params).await?;
12 Ok(())
13}
14

update_notification Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
update_notification_body models::UpdateNotificationBody Да
user_id String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_notification
Copy Copy
1
2let params: UpdateNotificationParams = UpdateNotificationParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "notif-12345".to_string(),
5 update_notification_body: models::UpdateNotificationBody {
6 name: "Article Comments Webhook".to_string(),
7 url: "https://hooks.acme-corp.com/article-comments".to_string(),
8 enabled: true,
9 events: vec!["comment.created".to_string(), "comment.flagged".to_string()],
10 },
11 user_id: Some("moderator-42".to_string()),
12};
13
14let response: FlagCommentPublic200Response = update_notification(&configuration, params).await?;
15

add_page Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_api_page_data models::CreateApiPageData Да

Отговор

Връща: AddPageApiResponse


delete_page Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: DeletePageApiResponse


get_page_by_urlid Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да

Отговор

Връща: GetPageByUrlidApiResponse


get_pages Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да

Отговор

Връща: GetPagesApiResponse


patch_page Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_api_page_data models::UpdateApiPageData Да

Отговор

Връща: PatchPageApiResponse


delete_pending_webhook_event Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_pending_webhook_event Пример
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let audit_note: Option<String> = Some("removed duplicate webhook event".to_string());
4 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "9f8b7a6c-1234-4b8d-9c3a-0e1f2d3c4b5a".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
9 let _ = audit_note;
10 Ok(response)
11}
12

get_pending_webhook_event_count Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Не
external_id String Не
event_type String Не
domain String Не
attempt_count_gt f64 Не

Отговор

Връща: GetPendingWebhookEventCount200Response

Пример

Пример за get_pending_webhook_event_count
Copy Copy
1
2async fn fetch_pending_webhook_count(configuration: &configuration::Configuration) -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: Some(String::from("cmt-12345")),
6 external_id: Some(String::from("ext-67890")),
7 event_type: Some(String::from("comment_posted")),
8 domain: Some(String::from("news.example.com")),
9 attempt_count_gt: Some(3.0),
10 };
11 let response: GetPendingWebhookEventCount200Response = get_pending_webhook_event_count(configuration, params).await?;
12 Ok(response)
13}
14

get_pending_webhook_events Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Не
external_id String Не
event_type String Не
domain String Не
attempt_count_gt f64 Не
skip f64 Не

Отговор

Връща: GetPendingWebhookEvents200Response

Пример

Пример за get_pending_webhook_events
Copy Copy
1
2async fn fetch_pending_webhook_events() -> Result<GetPendingWebhookEvents200Response, Error> {
3 let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-2026-04-01-001".to_string()),
6 external_id: Some("news/article-42".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(1.0),
10 skip: Some(0.0),
11 };
12 let response: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13 Ok(response)
14}
15

create_question_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_question_config_body models::CreateQuestionConfigBody Да

Отговор

Връща: CreateQuestionConfig200Response

Пример

Пример за create_question_config
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_config_body: models::CreateQuestionConfigBody {
6 slug: "news/article".to_string(),
7 title: "Reader satisfaction".to_string(),
8 description: Some("How satisfied are you with this article?".to_string()),
9 required: Some(false),
10 rendering_type: Some(QuestionRenderingType::Inline),
11 custom_options: Some(vec![
12 models::QuestionConfigCustomOptionsInner { value: "very_satisfied".to_string(), label: Some("Very satisfied".to_string()) },
13 models::QuestionConfigCustomOptionsInner { value: "unsatisfied".to_string(), label: Some("Unsatisfied".to_string()) },
14 ]),
15 },
16 };
17 let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
18 Ok(())
19}
20

delete_question_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_question_config
Copy Copy
1
2pub async fn run_delete_question_config() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-config-8742".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
8 Ok(response)
9}
10

get_question_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetQuestionConfig200Response

Пример

Пример за get_question_config
Copy Copy
1
2async fn run_get_question_config() -> Result<GetQuestionConfig200Response, Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetQuestionConfigParams = GetQuestionConfigParams {
5 tenant_id: tenant.unwrap(),
6 id: "news/article/2026/03/25/space-launch".to_string(),
7 };
8 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
9 Ok(response)
10}
11

get_question_configs Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetQuestionConfigs200Response

Пример

Пример за get_question_configs
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetQuestionConfigsParams = GetQuestionConfigsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let response: GetQuestionConfigs200Response = get_question_configs(&configuration, params).await?;
8 println!("{:#?}", response);
9 Ok(())
10}
11

update_question_config Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_question_config_body models::UpdateQuestionConfigBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_question_config
Copy Copy
1
2let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "news/article-2026-03-readability".to_string(),
5 update_question_config_body: models::UpdateQuestionConfigBody {
6 question_text: Some("Was this article helpful?".to_string()),
7 required: Some(true),
8 rendering_type: Some(models::QuestionRenderingType::Inline),
9 custom_options: Some(vec![
10 models::QuestionConfigCustomOptionsInner { label: "Very helpful".to_string(), value: "very_helpful".to_string() },
11 models::QuestionConfigCustomOptionsInner { label: "Somewhat helpful".to_string(), value: "somewhat_helpful".to_string() },
12 models::QuestionConfigCustomOptionsInner { label: "Not helpful".to_string(), value: "not_helpful".to_string() },
13 ]),
14 when_save: Some(models::QuestionWhenSave::AskOnSave),
15 ..Default::default()
16 },
17};
18let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
19

create_question_result Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_question_result_body models::CreateQuestionResultBody Да

Отговор

Връща: CreateQuestionResult200Response

Пример

Пример за create_question_result
Copy Copy
1
2async fn run_create_question_result() -> Result<(), Error> {
3 let params: CreateQuestionResultParams = CreateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_result_body: models::CreateQuestionResultBody {
6 question_id: "article-123-comment-rating".to_string(),
7 user_id: Some("reader-456".to_string()),
8 result: Some("helpful".to_string()),
9 context: Some("news/article".to_string()),
10 submitted_at: Some("2026-03-25T12:34:56Z".to_string()),
11 },
12 };
13
14 let response: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
15 Ok(())
16}
17

delete_question_result Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_question_result
Copy Copy
1
2async fn run_delete_question_result() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "qres-news/article-2026-03-25-9a8b7c".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
8 let _response = response;
9 Ok(())
10}
11

get_question_result Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetQuestionResult200Response

Пример

get_question_result Пример
Copy Copy
1
2async fn example_get_question_result() -> Result<GetQuestionResult200Response, Error> {
3 let params: GetQuestionResultParams = GetQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-12345".to_string(),
6 };
7 let _include_metadata: Option<bool> = Some(true);
8 let response: GetQuestionResult200Response = get_question_result(configuration, params).await?;
9 Ok(response)
10}
11

get_question_results Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Не
user_id String Не
start_date String Не
question_id String Не
question_ids String Не
skip f64 Не

Отговор

Връща: GetQuestionResults200Response

Пример

get_question_results Пример
Copy Copy
1
2async fn run() -> Result<GetQuestionResults200Response, Error> {
3 let params: GetQuestionResultsParams = GetQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 url_id: Some("news/local/2026/03/25".to_owned()),
6 user_id: Some("user_12345".to_owned()),
7 start_date: Some("2026-01-01T00:00:00Z".to_owned()),
8 question_id: Some("q_789".to_owned()),
9 question_ids: Some("q_789,q_790".to_owned()),
10 skip: Some(10.0),
11 };
12 let response: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(response)
14}
15

update_question_result Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
update_question_result_body models::UpdateQuestionResultBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_question_result
Copy Copy
1
2async fn run_update_question_result() -> Result<(), Error> {
3 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/2026/03/25/12345".to_string(),
6 update_question_result_body: models::UpdateQuestionResultBody {
7 question_id: Some("q-987".to_string()),
8 result: Some(true),
9 reviewer_id: Some("moderator-7".to_string()),
10 notes: Some("Marked as resolved after editorial review".to_string()),
11 },
12 };
13 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
14 println!("update result: {:?}", response);
15 Ok(())
16}
17

aggregate_question_results Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
question_id String Не
question_ids Vec Не
url_id String Не
time_bucket models::AggregateTimeBucket Не
start_date String Не
force_recalculate bool Не

Отговор

Връща: AggregateQuestionResults200Response

Пример

Пример за aggregate_question_results
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AggregateQuestionResultsParams = AggregateQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("satisfaction-8".to_string()),
6 question_ids: Some(vec!["satisfaction-8".to_string(), "recommendation-3".to_string()]),
7 url_id: Some("news/article/2026/ai-announce".to_string()),
8 time_bucket: Some(models::AggregateTimeBucket::Daily),
9 start_date: Some("2026-03-01T00:00:00Z".to_string()),
10 force_recalculate: Some(true),
11 };
12 let aggregation: AggregateQuestionResults200Response = aggregate_question_results(&configuration, params).await?;
13 Ok(())
14}
15

bulk_aggregate_question_results Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Да
force_recalculate bool Не

Отговор

Връща: BulkAggregateQuestionResults200Response

Пример

Пример за bulk_aggregate_question_results
Copy Copy
1
2let params: BulkAggregateQuestionResultsParams = BulkAggregateQuestionResultsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 bulk_aggregate_question_results_request: models::BulkAggregateQuestionResultsRequest {
5 questions: vec![
6 models::BulkAggregateQuestionItem {
7 question_id: "news/article-2026-03-24-comments".to_string(),
8 include_subquestions: Some(true),
9 top_n: Some(5),
10 }
11 ],
12 time_bucket: models::AggregateTimeBucket::Daily,
13 start_time: "2026-03-01T00:00:00Z".to_string(),
14 end_time: "2026-03-24T23:59:59Z".to_string(),
15 },
16 force_recalculate: Some(true),
17};
18let response: BulkAggregateQuestionResults200Response = bulk_aggregate_question_results(&configuration, params).await?;
19

combine_comments_with_question_results Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
question_id String Не
question_ids Vec Не
url_id String Не
start_date String Не
force_recalculate bool Не
min_value f64 Не
max_value f64 Не
limit f64 Не

Отговор

Връща: CombineCommentsWithQuestionResults200Response

Пример

Пример за combine_comments_with_question_results
Copy Copy
1
2async fn run() -> Result<CombineCommentsWithQuestionResults200Response, Error> {
3 let params: CombineCommentsWithQuestionResultsParams = CombineCommentsWithQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("q-2026-product-satisfaction".to_string()),
6 question_ids: Some(vec![
7 "q-2026-product-satisfaction".to_string(),
8 "q-2026-support-rating".to_string(),
9 ]),
10 url_id: Some("news/product/launch-2026".to_string()),
11 start_date: Some("2026-03-01T00:00:00Z".to_string()),
12 force_recalculate: Some(true),
13 min_value: Some(1.0),
14 max_value: Some(5.0),
15 limit: Some(100.0),
16 };
17 let response: CombineCommentsWithQuestionResults200Response =
18 combine_comments_with_question_results(&configuration, params).await?;
19 Ok(response)
20}
21

add_sso_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_apisso_user_data models::CreateApissoUserData Да

Отговор

Връща: AddSsoUserApiResponse

delete_sso_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
delete_comments bool Не
comment_delete_mode String Не

Отговор

Връща: DeleteSsoUserApiResponse


get_sso_user_by_email Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
email String Да

Отговор

Връща: GetSsoUserByEmailApiResponse

get_sso_user_by_id Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetSsoUserByIdApiResponse


get_sso_users Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip i32 Не

Отговор

Връща: GetSsoUsers200Response


patch_sso_user Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Не

Отговор

Връща: PatchSsoUserApiResponse

put_sso_user Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Не

Отговор

Връща: PutSsoUserApiResponse


create_subscription Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_api_user_subscription_data models::CreateApiUserSubscriptionData Да

Отговор

Връща: CreateSubscriptionApiResponse

Пример

create_subscription Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateSubscriptionParams = CreateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_api_user_subscription_data: models::CreateApiUserSubscriptionData {
6 api_user_id: "api_user_9843".to_string(),
7 resource: "news/article".to_string(),
8 plan: Some("pro".to_string()),
9 start_at: Some("2026-03-01T12:00:00Z".to_string()),
10 metadata: Some(std::collections::HashMap::from([
11 ("source".to_string(), "signup_form".to_string()),
12 ("utm_campaign".to_string(), "spring_launch".to_string()),
13 ])),
14 active: Some(true),
15 },
16 };
17
18 let subscription_response: CreateSubscriptionApiResponse =
19 create_subscription(&configuration, params).await?;
20 Ok(())
21}
22

delete_subscription Internal Link


Параметри

Name Type Required Description
tenant_id String Да
id String Да
user_id String Не

Отговор

Връща: DeleteSubscriptionApiResponse


get_subscriptions Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не

Отговор

Връща: GetSubscriptionsApiResponse

Пример

Пример за get_subscriptions
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetSubscriptionsParams = GetSubscriptionsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-42@example.com".to_string()),
6 };
7 let subscriptions: GetSubscriptionsApiResponse = get_subscriptions(&configuration, params).await?;
8 let _ = subscriptions;
9 Ok(())
10}
11

update_subscription Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_api_user_subscription_data models::UpdateApiUserSubscriptionData Да
user_id String Не

Отговор

Връща: UpdateSubscriptionApiResponse

Пример

update_subscription Пример
Copy Copy
1
2async fn example_update_subscription() -> Result<(), Error> {
3 let params: UpdateSubscriptionParams = UpdateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "sub_8f9a2b".to_string(),
6 update_api_user_subscription_data: models::UpdateApiUserSubscriptionData {
7 plan: "newsletter-weekly".to_string(),
8 active: true,
9 renewal_period_days: Some(30),
10 },
11 user_id: Some("user_42".to_string()),
12 };
13 let response: UpdateSubscriptionApiResponse = update_subscription(&configuration, params).await?;
14 Ok(())
15}
16

get_tenant_daily_usages Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
year_number f64 Не
month_number f64 Не
day_number f64 Не
skip f64 Не

Отговор

Връща: GetTenantDailyUsages200Response

Пример

Пример за get_tenant_daily_usages
Copy Copy
1
2async fn example_get_usage() -> Result<GetTenantDailyUsages200Response, Error> {
3 let params = GetTenantDailyUsagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 year_number: Some(2026.0),
6 month_number: Some(3.0),
7 day_number: Some(25.0),
8 skip: Some(0.0),
9 };
10 let response = get_tenant_daily_usages(&configuration, params).await?;
11 Ok(response)
12}
13

create_tenant_package Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_tenant_package_body models::CreateTenantPackageBody Да

Отговор

Връща: CreateTenantPackage200Response

Пример

Пример за create_tenant_package
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantPackageParams = CreateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_package_body: models::CreateTenantPackageBody {
6 name: "Acme Standard Moderation".to_string(),
7 description: Some("Standard moderation package for news and blog sites".to_string()),
8 enabled: Some(true),
9 custom_config: Some(CustomConfigParameters { max_comment_length: Some(1000), require_moderation: Some(true) }),
10 gif_rating: Some(GifRating::PG13),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 tos: Some(TosConfig { require_acceptance: Some(true), tos_url: Some("https://acme.example.com/terms".to_string()) }),
13 },
14 };
15 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
16 Ok(())
17}
18

delete_tenant_package Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_tenant_package Пример
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-package-2026-03".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8 Ok(response)
9}
10

get_tenant_package Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetTenantPackage200Response

Пример

Пример за get_tenant_package
Copy Copy
1
2async fn fetch_tenant_package() -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "package-basic-2026".to_string(),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let package: GetTenantPackage200Response = get_tenant_package(&configuration, params).await?;
9 Ok(package)
10}
11

get_tenant_packages Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetTenantPackages200Response

Пример

get_tenant_packages Пример
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetTenantPackagesParams = GetTenantPackagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let packages: GetTenantPackages200Response = get_tenant_packages(&configuration, params).await?;
8 Ok(())
9}
10

replace_tenant_package Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
replace_tenant_package_body models::ReplaceTenantPackageBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за replace_tenant_package
Copy Copy
1
2async fn run_replace_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: ReplaceTenantPackageParams = ReplaceTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "enterprise-package-2026".to_string(),
6 replace_tenant_package_body: models::ReplaceTenantPackageBody {
7 name: "Acme Enterprise".to_string(),
8 plan: "enterprise".to_string(),
9 seats: Some(50),
10 allowed_domains: Some(vec![
11 "acme.com".to_string(),
12 "news.acme.com".to_string(),
13 ]),
14 },
15 };
16
17 let response: FlagCommentPublic200Response = replace_tenant_package(&configuration, params).await?;
18 Ok(response)
19}
20

update_tenant_package Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
update_tenant_package_body models::UpdateTenantPackageBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant_package
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pkg-professional-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: "Acme Professional".to_string(),
8 plan: "professional".to_string(),
9 enabled: Some(true),
10 api_status: Some(ApiStatus::Enabled),
11 custom_config: Some(CustomConfigParameters {
12 moderation_webhook: Some("https://acme.example.com/hooks/moderation".to_string()),
13 sso_security_level: Some(SsoSecurityLevel::Strict),
14 }),
15 tos_config: Some(TosConfig {
16 enabled: Some(true),
17 url: Some("https://acme.example.com/terms".to_string()),
18 }),
19 },
20 };
21 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
22 Ok(())
23}
24

create_tenant_user Internal Link

Параметри

Name Type Required Description
tenant_id String Да
create_tenant_user_body models::CreateTenantUserBody Да

Отговор

Връща: CreateTenantUser200Response

Пример

Пример за create_tenant_user
Copy Copy
1
2let params: CreateTenantUserParams = CreateTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_tenant_user_body: models::CreateTenantUserBody {
5 username: "jane.doe".to_string(),
6 email: "jane.doe@acme.com".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 roles: Some(vec!["reader".to_string(), "commenter".to_string()]),
9 locale: Some("en-US".to_string()),
10 is_verified: Some(true),
11 },
12};
13
14let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
15

delete_tenant_user Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
delete_comments String Не
comment_delete_mode String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_tenant_user Пример
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantUserParams = DeleteTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-9876".to_string(),
6 delete_comments: Some("true".to_string()),
7 comment_delete_mode: Some("permanent".to_string()),
8 };
9 let response: FlagCommentPublic200Response = delete_tenant_user(&configuration, params).await?;
10 Ok(response)
11}
12

get_tenant_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetTenantUser200Response

Пример

Пример за get_tenant_user
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantUserParams = GetTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-9a4f2e".to_string(),
6 expand: Some(vec!["roles".to_string(), "preferences".to_string()]),
7 };
8 let user_response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

get_tenant_users Internal Link

Параметри

Name Type Required Description
tenant_id String Да
skip f64 Не

Отговор

Връща: GetTenantUsers200Response

Пример

Пример за get_tenant_users
Copy Copy
1
2async fn example_get_tenant_users() -> Result<(), Error> {
3 let params: GetTenantUsersParams = GetTenantUsersParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let users: GetTenantUsers200Response = get_tenant_users(&configuration, params).await?;
8 let _users = users;
9 Ok(())
10}
11

replace_tenant_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
replace_tenant_user_body models::ReplaceTenantUserBody Да
update_comments String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

replace_tenant_user Пример
Copy Copy
1
2let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "user-42".to_string(),
5 replace_tenant_user_body: models::ReplaceTenantUserBody {
6 user_id: "user-42".to_string(),
7 display_name: "Jane Doe".to_string(),
8 email: "jane.doe@acme.com".to_string(),
9 roles: vec!["moderator".to_string()],
10 },
11 update_comments: Some("true".to_string()),
12};
13let response: FlagCommentPublic200Response = replace_tenant_user(&configuration, params).await?
14

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
redirect_url String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

send_login_link Пример
Copy Copy
1
2async fn send_login_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendLoginLinkParams = SendLoginLinkParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("user-98765"),
6 redirect_url: Some(String::from("https://acme.example.com/dashboard")),
7 };
8 let response: FlagCommentPublic200Response = send_login_link(&configuration, params).await?;
9 Ok(response)
10}
11

update_tenant_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_tenant_user_body models::UpdateTenantUserBody Да
update_comments String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant_user
Copy Copy
1
2async fn run_update_tenant_user(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-7b9f".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 email: Some("jane.doe@acme.com".to_string()),
8 display_name: Some("Jane Doe".to_string()),
9 username: Some("jdoe".to_string()),
10 role: Some("moderator".to_string()),
11 },
12 update_comments: Some("Promoted to moderator to handle flagged comments".to_string()),
13 };
14 let response = update_tenant_user(configuration, params).await?;
15 Ok(response)
16}
17

create_tenant Internal Link

Параметри

Name Type Required Description
tenant_id String Да
create_tenant_body models::CreateTenantBody Да

Отговор

Връща: CreateTenant200Response

Пример

create_tenant Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantParams = CreateTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme Corporation".to_string(),
7 primary_domain: Some("acme.example.com".to_string()),
8 admin_email: Some("admin@acme.example.com".to_string()),
9 api_domain_configuration: Some(models::ApiDomainConfiguration {
10 primary_domain: Some("acme.example.com".to_string()),
11 allowed_origins: Some(vec![
12 "https://acme.example.com".to_string(),
13 "https://www.acme.com".to_string()
14 ]),
15 ..Default::default()
16 }),
17 billing_info: Some(models::BillingInfo {
18 plan: "business".to_string(),
19 company_name: Some("Acme Corporation".to_string()),
20 contact_email: Some("billing@acme.example.com".to_string()),
21 ..Default::default()
22 }),
23 imported_sites: Some(vec![models::ImportedSiteType {
24 site_id: "news/site-1".to_string(),
25 origin: Some("https://news.acme.com".to_string()),
26 ..Default::default()
27 }]),
28 ..Default::default()
29 },
30 };
31 let response: CreateTenant200Response = create_tenant(&configuration, params).await?;
32 Ok(())
33}
34

delete_tenant Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
sure String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_tenant
Copy Copy
1
2let params: DeleteTenantParams = DeleteTenantParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 id: String::from("acme-corp-tenant-001"),
5 sure: Some(String::from("confirm-delete")),
6};
7let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
8

get_tenant Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetTenant200Response

Пример

Пример за get_tenant
Copy Copy
1
2async fn run_get_tenant() -> Result<GetTenant200Response, Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/site-42".to_string(),
6 expand: Some(vec!["domains".to_string(), "billing".to_string()]),
7 };
8 let tenant: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(tenant)
10}
11

get_tenants Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
meta String Не
skip f64 Не

Отговор

Връща: GetTenants200Response

Пример

Пример за get_tenants
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantsParams = GetTenantsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 meta: Some("news/article".to_string()),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 println!("{:#?}", response);
10 Ok(())
11}
12

update_tenant Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_tenant_body models::UpdateTenantBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant
Copy Copy
1
2let params: UpdateTenantParams = UpdateTenantParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "site-42".to_string(),
5 update_tenant_body: models::UpdateTenantBody {
6 name: Some("Acme Corporation".to_string()),
7 api_domain_configuration: Some(models::ApiDomainConfiguration {
8 primary_domain: Some("comments.acme.com".to_string()),
9 allowed_domains: Some(vec!["acme.com".to_string(), "www.acme.com".to_string()]),
10 }),
11 billing_info: Some(models::BillingInfo {
12 plan: Some("business".to_string()),
13 billing_contact_email: Some("billing@acme.com".to_string()),
14 }),
15 sso_security_level: Some(models::SsoSecurityLevel::Strict),
16 custom_config_parameters: Some(models::CustomConfigParameters {
17 max_comment_length: Some(2000),
18 enable_moderation_queue: Some(true),
19 }),
20 },
21};
22let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23

change_ticket_state Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Да
id String Да
change_ticket_state_body models::ChangeTicketStateBody Да

Отговор

Връща: ChangeTicketState200Response

Пример

change_ticket_state Пример
Copy Copy
1
2async fn run() -> Result<ChangeTicketState200Response, Error> {
3 let params: ChangeTicketStateParams = ChangeTicketStateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "agent_jdoe".to_string(),
6 id: "ticket-2026-03-25-001".to_string(),
7 change_ticket_state_body: models::ChangeTicketStateBody {
8 state: "closed".to_string(),
9 note: Some("Issue resolved after patch deployment".to_string()),
10 assignee_id: Some("agent_jdoe".to_string()),
11 priority: Some("low".to_string()),
12 },
13 };
14 let response: ChangeTicketState200Response = change_ticket_state(&configuration, params).await?;
15 Ok(response)
16}
17

create_ticket Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Да
create_ticket_body models::CreateTicketBody Да

Отговор

Връща: CreateTicket200Response

Пример

create_ticket Пример
Copy Copy
1
2async fn create_ticket_example() -> Result<CreateTicket200Response, Error> {
3 let params = CreateTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "user-12345".to_string(),
6 create_ticket_body: models::CreateTicketBody {
7 subject: "Moderation request: abusive comments".to_string(),
8 description: "Several abusive comments reported on the article 'Election 2026: Key Races'".to_string(),
9 priority: Some("high".to_string()),
10 tags: Some(vec!["moderation".to_string(), "priority-high".to_string()]),
11 reporter_email: Some("editor@news.example.com".to_string()),
12 source_url: Some("https://news.example.com/articles/election-2026-key-races".to_string()),
13 custom_fields: Some(std::collections::HashMap::from([
14 ("article_id".to_string(), "news-20260324-001".to_string())
15 ])),
16 },
17 };
18 let response: CreateTicket200Response = create_ticket(&configuration, params).await?;
19 Ok(response)
20}
21

get_ticket Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
user_id String Не

Отговор

Връща: GetTicket200Response

Пример

Пример за get_ticket
Copy Copy
1
2async fn example_get_ticket() -> Result<GetTicket200Response, Error> {
3 let params: GetTicketParams = GetTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "support/ticket-2026-03-25-12345".to_string(),
6 user_id: Some("user-67890".to_string()),
7 };
8 let ticket: GetTicket200Response = get_ticket(&configuration, params).await?;
9 Ok(ticket)
10}
11

get_tickets Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
user_id String Не
state f64 Не
skip f64 Не
limit f64 Не

Отговор

Връща: GetTickets200Response

Пример

Пример за get_tickets
Copy Copy
1
2async fn example_get_tickets() -> Result<(), Error> {
3 let params: GetTicketsParams = GetTicketsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-9876".to_owned()),
6 state: Some(1.0),
7 skip: Some(0.0),
8 limit: Some(25.0),
9 };
10 let tickets: GetTickets200Response = get_tickets(configuration, params).await?;
11 Ok(())
12}
13

upload_image Internal Link

Качване и оразмеряване на изображение

Параметри

Name Type Required Description
tenant_id String Да
file std::path::PathBuf Да
size_preset models::SizePreset Не
url_id String Не

Отговор

Връща: UploadImageResponse


get_user_badge_progress_by_id Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: GetUserBadgeProgressById200Response

Пример

get_user_badge_progress_by_id Пример
Copy Copy
1
2async fn example_get_badge_progress() -> Result<GetUserBadgeProgressById200Response, Error> {
3 let cfg: &configuration::Configuration = &configuration;
4 let params = GetUserBadgeProgressByIdParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "badge-007-community-builder".to_string(),
7 };
8 let response: GetUserBadgeProgressById200Response = get_user_badge_progress_by_id(cfg, params).await?;
9 Ok(response)
10}
11

get_user_badge_progress_by_user_id Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Да

Отговор

Връща: GetUserBadgeProgressById200Response

Пример

Пример: get_user_badge_progress_by_user_id
Copy Copy
1
2async fn example() -> Result<GetUserBadgeProgressById200Response, Error> {
3 let cfg: &configuration::Configuration = &configuration;
4 let params: GetUserBadgeProgressByUserIdParams = GetUserBadgeProgressByUserIdParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 user_id: "journalist-9876".to_string(),
7 include_inactive: Some(false),
8 locale: Some("en-US".to_string()),
9 };
10 let response: GetUserBadgeProgressById200Response =
11 get_user_badge_progress_by_user_id(cfg, params).await?;
12 Ok(response)
13}
14

get_user_badge_progress_list Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не
limit f64 Не
skip f64 Не

Отговор

Връща: GetUserBadgeProgressList200Response

Пример

get_user_badge_progress_list Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgeProgressListParams = GetUserBadgeProgressListParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user_98765".to_string()),
6 limit: Some(25.0),
7 skip: Some(0.0),
8 };
9 let response: GetUserBadgeProgressList200Response =
10 get_user_badge_progress_list(&configuration, params).await?;
11 let _response = response;
12 Ok(())
13}
14

create_user_badge Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_user_badge_params models::CreateUserBadgeParams Да

Отговор

Връща: CreateUserBadge200Response

Пример

create_user_badge Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateUserBadgeParams = CreateUserBadgeParams {
4 tenant_id: "acme-corp-tenant".into(),
5 create_user_badge_params: models::CreateUserBadgeParams {
6 name: "Top Contributor".into(),
7 description: Some("Awarded for sustained high-quality contributions".into()),
8 image_url: Some("https://cdn.acme.com/badges/top-contributor.png".into()),
9 criteria: Some("100 upvotes across articles and comments".into()),
10 is_active: Some(true),
11 tags: Some(vec!["community".into(), "milestone".into()]),
12 },
13 };
14 let response: CreateUserBadge200Response = create_user_badge(&configuration, params).await?;
15 Ok(())
16}
17

delete_user_badge Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: UpdateUserBadge200Response

Пример

delete_user_badge Пример
Copy Copy
1
2async fn run_delete_badge() -> Result<UpdateUserBadge200Response, Error> {
3 let params: DeleteUserBadgeParams = DeleteUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "badge-7890".to_string(),
6 };
7 let response: UpdateUserBadge200Response = delete_user_badge(&configuration, params).await?;
8 Ok(response)
9}
10

get_user_badge Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetUserBadge200Response

Пример

Пример за get_user_badge
Copy Copy
1
2async fn fetch_user_badge() -> Result<GetUserBadge200Response, Error> {
3 let params = GetUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "verified-journalist-badge-001".to_string(),
6 locale: Some("en-US".to_string()),
7 };
8 let badge: GetUserBadge200Response = get_user_badge(&configuration, params).await?;
9 Ok(badge)
10}
11

get_user_badges Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не
badge_id String Не
displayed_on_comments bool Не
limit f64 Не
skip f64 Не

Отговор

Връща: GetUserBadges200Response

Пример

Пример за get_user_badges
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgesParams = GetUserBadgesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-9876")),
6 badge_id: Some(String::from("top-reviewer")),
7 displayed_on_comments: Some(true),
8 limit: Some(50.0),
9 skip: Some(0.0),
10 };
11 let response: GetUserBadges200Response = get_user_badges(&configuration, params).await?;
12 Ok(())
13}
14

update_user_badge Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_user_badge_params models::UpdateUserBadgeParams Да

Отговор

Връща: UpdateUserBadge200Response

Пример

Пример за update_user_badge
Copy Copy
1
2let params: UpdateUserBadgeParams = UpdateUserBadgeParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "badge-verified-001".to_string(),
5 update_user_badge_params: models::UpdateUserBadgeParams {
6 name: Some("Verified Contributor".to_string()),
7 description: Some("Awarded for consistent, high-quality contributions".to_string()),
8 icon_url: Some("https://assets.acme.com/badges/verified.png".to_string()),
9 color_hex: Some("#1E90FF".to_string()),
10 min_posts: Some(100u32),
11 active: Some(true),
12 },
13};
14let response: UpdateUserBadge200Response = update_user_badge(&configuration, params).await?;
15

get_user_notification_count Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
sso String Не

Отговор

Връща: GetUserNotificationCount200Response

Пример

get_user_notification_count Пример
Copy Copy
1
2async fn example_user_notification_count() -> Result<(), Error> {
3 let params: GetUserNotificationCountParams = GetUserNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 sso: Some(String::from("sso-jwt-abc123")),
6 };
7 let _response: GetUserNotificationCount200Response =
8 get_user_notification_count(&configuration, params).await?;
9 Ok(())
10}
11

get_user_notifications Internal Link

Параметри

Name Type Required Description
tenant_id String Да
page_size i32 Не
after_id String Не
include_context bool Не
after_created_at i64 Не
unread_only bool Не
dm_only bool Не
no_dm bool Не
include_translations bool Не
sso String Не

Отговор

Връща: GetUserNotifications200Response

Пример

Пример за get_user_notifications
Copy Copy
1
2let params = GetUserNotificationsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 page_size: Some(25),
5 after_id: Some("notif_98765".to_string()),
6 include_context: Some(true),
7 after_created_at: Some(1_681_500_000i64),
8 unread_only: Some(true),
9 dm_only: Some(false),
10 no_dm: Some(false),
11 include_translations: Some(true),
12 sso: Some("sso_user_token_ab12".to_string()),
13};
14let notifications: GetUserNotifications200Response = get_user_notifications(&configuration, params).await?;
15

reset_user_notification_count Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
sso String Не

Отговор

Връща: ResetUserNotifications200Response

Пример

Пример за reset_user_notification_count
Copy Copy
1
2async fn run_reset_user_notification_count() -> Result<ResetUserNotifications200Response, Error> {
3 let params: ResetUserNotificationCountParams = ResetUserNotificationCountParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 sso: Some("user-9876-token".to_string()),
6 };
7 let response: ResetUserNotifications200Response = reset_user_notification_count(&configuration, params).await?;
8 Ok(response)
9}
10

reset_user_notifications Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
after_id String Не
after_created_at i64 Не
unread_only bool Не
dm_only bool Не
no_dm bool Не
sso String Не

Отговор

Връща: ResetUserNotifications200Response

Пример

Пример за reset_user_notifications
Copy Copy
1
2async fn run_reset() -> Result<(), Error> {
3 let params: ResetUserNotificationsParams = ResetUserNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("notif_987654321".to_string()),
6 after_created_at: Some(1672531200),
7 unread_only: Some(true),
8 dm_only: Some(false),
9 no_dm: Some(false),
10 sso: Some("sso-enterprise".to_string()),
11 };
12 let resp: ResetUserNotifications200Response = reset_user_notifications(&configuration, params).await?;
13 let _ = resp;
14 Ok(())
15}
16

update_user_notification_comment_subscription_status Internal Link

Включване или изключване на известия за конкретен коментар.

Параметри

Име Тип Задължително Описание
tenant_id String Yes
notification_id String Yes
opted_in_or_out String Yes
comment_id String Yes
sso String No

Отговор

Връща: UpdateUserNotificationStatus200Response

Пример

update_user_notification_comment_subscription_status Пример
Copy Copy
1
2async fn example_update_user_notification_comment_subscription_status() -> Result<(), Error> {
3 let params: UpdateUserNotificationCommentSubscriptionStatusParams = UpdateUserNotificationCommentSubscriptionStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-03-25-4f2b".to_string(),
6 opted_in_or_out: "opted_out".to_string(),
7 comment_id: "cmt-98a7b6c5d4".to_string(),
8 sso: Some("sso-token-abc123".to_string()),
9 };
10 let response: UpdateUserNotificationStatus200Response =
11 update_user_notification_comment_subscription_status(&configuration, params).await?;
12 Ok(())
13}
14

update_user_notification_page_subscription_status Internal Link


Активиране или деактивиране на известия за страница. Когато потребителите са абонирани за страница, се създават известия за нови коренни коментари, и също

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
url String Да
page_title String Да
subscribed_or_unsubscribed String Да
sso String Не

Отговор

Връща: UpdateUserNotificationStatus200Response

Пример

update_user_notification_page_subscription_status Пример
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params = UpdateUserNotificationPageSubscriptionStatusParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("article-12345"),
6 url: String::from("https://news.acme.com/articles/2026/03/25/advances-in-ai"),
7 page_title: String::from("Advances in AI: What to Expect in 2026"),
8 subscribed_or_unsubscribed: String::from("subscribed"),
9 sso: Some(String::from("user-jwt-xyz123")),
10 };
11 let response = update_user_notification_page_subscription_status(&configuration, params).await?;
12 Ok(response)
13}
14

update_user_notification_status Internal Link

Параметри

Име Type Задължително Описание
tenant_id String Да
notification_id String Да
new_status String Да
sso String Не

Отговор

Връща: UpdateUserNotificationStatus200Response

Пример

Пример за update_user_notification_status
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params: UpdateUserNotificationStatusParams = UpdateUserNotificationStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-04-01-7f3b".to_string(),
6 new_status: "read".to_string(),
7 sso: Some("sso-session-abcdef123456".to_string()),
8 };
9 let resp: UpdateUserNotificationStatus200Response =
10 update_user_notification_status(&configuration, params).await?;
11 Ok(resp)
12}
13

get_user_presence_statuses Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id_ws String Да
user_ids String Да

Отговор

Връща: GetUserPresenceStatuses200Response

Пример

get_user_presence_statuses Пример
Copy Copy
1
2async fn run() -> Result<GetUserPresenceStatuses200Response, Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let url_id_ws: String = "news/article".to_string();
5 let user_ids_opt: Option<String> = Some("user123,user456,user789".to_string());
6 let params = GetUserPresenceStatusesParams {
7 tenant_id,
8 url_id_ws,
9 user_ids: user_ids_opt.unwrap(),
10 };
11 let presence: GetUserPresenceStatuses200Response = get_user_presence_statuses(&configuration, params).await?;
12 Ok(presence)
13}
14

search_users Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
username_starts_with String Не
mention_group_ids Vec Не
sso String Не
search_section String Не

Отговор

Връща: SearchUsers200Response

Пример

Пример за search_users
Copy Copy
1
2async fn run_search() -> Result<SearchUsers200Response, Error> {
3 let params: SearchUsersParams = SearchUsersParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-25-launch"),
6 username_starts_with: Some(String::from("alex")),
7 mention_group_ids: Some(vec![String::from("team-marketing"), String::from("team-product")]),
8 sso: Some(String::from("okta")),
9 search_section: Some(String::from("comments")),
10 };
11 let search_result: SearchUsers200Response = search_users(&configuration, params).await?;
12 Ok(search_result)
13}
14

get_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да

Отговор

Връща: GetUser200Response

Пример

Пример get_user
Copy Copy
1
2pub async fn run_get_user_example() -> Result<(), Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: tenant.unwrap(),
6 id: "user-9f8b3c".to_string(),
7 };
8 let user: GetUser200Response = get_user(&configuration, params).await?;
9 Ok(())
10}
11

create_vote Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
direction String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: VoteComment200Response

Пример

Пример за create_vote
Copy Copy
1
2async fn example_create_vote() -> Result<(), Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user-9876".to_string()),
8 anon_user_id: Some("anon-01-abcdef".to_string()),
9 };
10
11 let response: VoteComment200Response = create_vote(&configuration, params).await?;
12 println!("{:?}", response);
13 Ok(())
14}
15

delete_vote Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
edit_key String Не

Отговор

Връща: DeleteCommentVote200Response

Пример

Пример за delete_vote
Copy Copy
1
2async fn delete_vote_example() -> Result<DeleteCommentVote200Response, Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "comment-98765".to_string(),
6 edit_key: Some("edit-4f2b9c".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(response)
10}
11

get_votes Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
url_id String Да

Отговор

Връща: GetVotes200Response

Пример

Пример за get_votes
Copy Copy
1
2async fn fetch_votes() -> Result<GetVotes200Response, Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/breaking-story".to_string(),
6 include_replies: Some(true),
7 };
8 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
9 Ok(votes)
10}
11

get_votes_for_user Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: GetVotesForUser200Response

Пример

Пример get_votes_for_user
Copy Copy
1
2async fn example_get_votes_for_user() -> Result<(), Error> {
3 let params: GetVotesForUserParams = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-fastcomments-launch"),
6 user_id: Some(String::from("user_12345")),
7 anon_user_id: Some(String::from("anon_9f2e7b")),
8 };
9 let votes: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(())
11}
12

Нужда от помощ?

Ако срещнете проблеми или имате въпроси относно Rust SDK, моля:

Принос

Приносите са добре дошли! Моля, посетете репозитория на GitHub за насоки за приноса.