FastComments.com

FastComments Rust SDK


ื–ื”ื• ื”-SDK ื”ืจืฉืžื™ ืฉืœ Rust ืขื‘ื•ืจ FastComments.

ื”-SDK ื”ืจืฉืžื™ ืฉืœ Rust ืขื‘ื•ืจ ื”-API ืฉืœ FastComments

ืžืื’ืจ

ืฆืคื” ื‘-GitHub


ื”ืชืงื ื” Internal Link

cargo add fastcomments-sdk

ื”-SDK ื“ื•ืจืฉ ืžื”ื“ื•ืจืช Rust 2021 ืื• ืžืื•ื—ืจืช ื™ื•ืชืจ.

ืชื›ื•ืœืช ื”ืกืคืจื™ื™ื” Internal Link


ืขืจื›ืช ื”-SDK ืฉืœ FastComments ืขื‘ื•ืจ Rust ืžื•ืจื›ื‘ืช ืžืžืกืคืจ ืžื•ื“ื•ืœื™ื:

  • Client Module - ืœืงื•ื— API ืฉื ื•ืฆืจ ืื•ื˜ื•ืžื˜ื™ืช ืขื‘ื•ืจ ืžืžืฉืงื™ ื”-REST ืฉืœ FastComments

    • ื”ื’ื“ืจื•ืช ื˜ื™ืคื•ืกื™ื ืžืœืื•ืช ืœื›ืœ ื“ื’ืžื™ ื”-API
    • ื ืงื•ื“ื•ืช ืงืฆื” ืžืื•ืžืชื•ืช (DefaultApi) ื•ืฆื™ื‘ื•ืจื™ื•ืช (PublicApi)
    • ืชืžื™ื›ื” ืžืœืื” ื‘-async/await ืขื tokio
    • ืจืื” client/README.md ืœืชื™ืขื•ื“ ืžืคื•ืจื˜ ืฉืœ ื”-API
  • SSO Module - ื›ืœื™ SSO ื‘ืฆื“ ื”ืฉืจืช

    • ื™ืฆื™ืจืช ืืกื™ืžื•ื ื™ื ืžืื•ื‘ื˜ื—ืช ืœืื™ืžื•ืช ืžืฉืชืžืฉื™ื
    • ืชืžื™ื›ื” ื”ืŸ ื‘ืžืฆื‘ SSO ืคืฉื•ื˜ ื•ื”ืŸ ื‘ืžืฆื‘ SSO ืžืื•ื‘ื˜ื—
    • ื—ืชื™ืžืช ืืกื™ืžื•ื ื™ื ืžื‘ื•ืกืกืช HMAC-SHA256
  • Core Types - ื”ื’ื“ืจื•ืช ืกื•ื’ื™ื ื•ื›ืœื™ ืขื–ืจ ืžืฉื•ืชืคื™ื

    • ืžื•ื“ืœื™ื ืฉืœ ืชื’ื•ื‘ื•ืช ื•ืžื‘ื ื™ ืžื˜ื-ื ืชื•ื ื™ื
    • ื”ื’ื“ืจื•ืช ืžืฉืชืžืฉ ื•ืฉื•ื›ืจ
    • ืคื•ื ืงืฆื™ื•ืช ืขื–ืจ ืœืคืขื•ืœื•ืช ื ืคื•ืฆื•ืช

ื”ืชื—ืœื” ืžื”ื™ืจื” 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);
    // ื”ืขื‘ืจ ื˜ื•ืงืŸ ื–ื” ืœ-frontend ืฉืœืš ืœืฆื•ืจืš ืื™ืžื•ืช
}

ื‘ืขื™ื•ืช ื ืคื•ืฆื•ืช 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. ื”ื•ืกืคืชื ืืช tokio ืœืชืœื•ื™ื•ืช ืฉืœื›ื:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. ืืชื ืžืฉืชืžืฉื™ื ื‘-runtime ืฉืœ tokio:

    #[tokio::main]
    async fn main() {
     // ืงื•ื“ ืืกื™ื ื›ืจื•ื ื™ ืฉืœื›ื ื›ืืŸ
    }

ื”ืขืจื•ืช Internal Link

ืžื–ื”ื™ ืฉื™ื“ื•ืจ

ืชืจืื” ืฉืขืœื™ืš ืœื”ืขื‘ื™ืจ ืืช broadcastId ื‘ื—ืœืง ืžืงืจื™ืื•ืช ื”-API. ื›ืฉืืชื” ืžืงื‘ืœ ืื™ืจื•ืขื™ื, ืชืงื‘ืœ ื—ื–ืจื” ืืช ื”ืžื–ื”ื” ื”ื–ื”, ื›ืš ืชื“ืข ืœื”ืชืขืœื ืžื”ืื™ืจื•ืข ืื ืืชื” ืžืชื›ื ืŸ ืœื™ื™ืฉื ืฉื™ื ื•ื™ื™ื ื‘ืื•ืคืŸ ืื•ืคื˜ื™ืžื™ ื‘ืฆื“ ื”ืœืงื•ื— (ื•ื›ื›ืœ ื”ื ืจืื” ืชืจืฆื” ืœืขืฉื•ืช ื–ืืช ืฉื›ืŸ ื–ื” ืžืฆื™ืข ืืช ื—ื•ื•ื™ื™ืช ื”ืžืฉืชืžืฉ ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ). ื”ืขื‘ืจ ื›ืืŸ UUID. ื”ืžื–ื”ื” ืฆืจื™ืš ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™ ืžืกืคื™ืง ื›ื“ื™ ืฉืœื ื™ื•ืคื™ืข ืคืขืžื™ื™ื ื‘ืื•ืชื• ืกืฉืŸ ื‘ื“ืคื“ืคืŸ.

ืื’ืจื’ืฆื™ื” Internal Link

ืžื‘ืฆืข ืื’ืจื’ืฆื™ื” ืขืœ ืžืกืžื›ื™ื ืขืœ ื™ื“ื™ ืงื™ื‘ื•ืฆื (ืื ื ืžืกืจ groupBy) ื•ื™ื™ืฉื•ื ืžืกืคืจ ืคืขื•ืœื•ืช. ื ืชืžื›ื•ืช ืคืขื•ืœื•ืช ืฉื•ื ื•ืช (ืœืžืฉืœ sum, countDistinct, avg ื•ื›ื•.).

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
aggregation_request models::AggregationRequest ื›ืŸ
parent_tenant_id String ืœื
include_stats bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AggregationResponse


ืงื‘ืœืช ื™ื•ืžื ื™ ื‘ื™ืงื•ืจืช Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
limit f64 ืœื
skip f64 ืœื
order models::SortDir ืœื
after f64 ืœื
before f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetAuditLogs200Response


ื—ืกื™ืžื” ืžืชื•ืš ืชื’ื•ื‘ื” (ืฆื™ื‘ื•ืจื™) Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
public_block_from_comment_params models::PublicBlockFromCommentParams ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: BlockFromCommentPublic200Response

ื”ืกืจืช ื—ืกื™ืžื” ืžืชื’ื•ื‘ื” (ืฆื™ื‘ื•ืจื™) Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
public_block_from_comment_params models::PublicBlockFromCommentParams ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UnBlockCommentPublic200Response


ื‘ื“ื™ืงืช ืชื’ื•ื‘ื•ืช ืขื‘ื•ืจ ื—ืกื•ืžื™ื Internal Link

ืคืจืžื˜ืจื™ื

ืฉื Type ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_ids String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CheckedCommentsForBlocked200Response


ื—ืกื™ืžืช ืžืฉืชืžืฉ ืžืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
block_from_comment_params models::BlockFromCommentParams ื›ืŸ
user_id String ืœื
anon_user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: BlockFromCommentPublic200Response


ื™ืฆื™ืจืช ืชื’ื•ื‘ื” ืฆื™ื‘ื•ืจื™ืช Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ
broadcast_id String ื›ืŸ
comment_data models::CommentData ื›ืŸ
session_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateCommentPublic200Response


ืžื—ื™ืงืช ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
context_user_id String ืœื
is_live bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteComment200Response


ืžื—ื™ืงืช ืชื’ื•ื‘ื” ืฆื™ื‘ื•ืจื™ืช Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
edit_key String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteCommentPublic200Response


ืžื—ื™ืงืช ื”ืฆื‘ืขืช ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
vote_id String ื›ืŸ
url_id String ื›ืŸ
broadcast_id String ื›ืŸ
edit_key String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteCommentVote200Response


ื“ื•ื•ื— ืขืœ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
user_id String ืœื
anon_user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagComment200Response


ืงื‘ืœืช ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetComment200Response


ืงื‘ืœืช ื˜ืงืกื˜ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
edit_key String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetCommentText200Response


ืงื‘ืœืช ืฉืžื•ืช ืžืฉืชืžืฉื™ื ืฉื”ืฆื‘ื™ืขื• ืขืœ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
dir i32 ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetCommentVoteUserNames200Response


ืงื‘ืœืช ืชื’ื•ื‘ื•ืช Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
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


ืงื‘ืœืช ืชื’ื•ื‘ื•ืช ืฆื™ื‘ื•ืจื™ื•ืช 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


ื ืขื™ืœืช ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื Type ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: LockComment200Response


ื ืขืฅ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PinComment200Response


ืฉืžื™ืจืช ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_comment_params models::CreateCommentParams ื›ืŸ
is_live bool ืœื
do_spam_check bool ืœื
send_emails bool ืœื
populate_notifications bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: SaveComment200Response


ืฉืžื™ืจืช ืชื’ื•ื‘ื•ืช ื‘ื›ืžื•ืช ื’ื“ื•ืœื” 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>


ื”ื’ื“ืจืช ื˜ืงืกื˜ ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
comment_text_update_request models::CommentTextUpdateRequest ื›ืŸ
edit_key String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: SetCommentText200Response


ื”ืกืจืช ื—ืกื™ืžื” ืฉืœ ืžืฉืชืžืฉ ืžืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
un_block_from_comment_params models::UnBlockFromCommentParams ื›ืŸ
user_id String ืœื
anon_user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UnBlockCommentPublic200Response


ื”ืกืจืช ื“ื™ื•ื•ื— ืขืœ ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
user_id String ืœื
anon_user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagComment200Response


ื‘ื˜ืœ ื ืขื™ืœืช ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: LockComment200Response


ื”ืกืจ ื ืขื™ืฆื” ืฉืœ ืชื’ื•ื‘ื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
broadcast_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PinComment200Response


ืขื“ื›ืŸ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
body models::PickApiCommentPeriodUpdatableCommentFields ื›ืŸ
context_user_id String ืœื
do_spam_check bool ืœื
is_live bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response


ื”ืฆื‘ืขื” ืขืœ ืชื’ื•ื‘ื” Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
url_id String ื›ืŸ
broadcast_id String ื›ืŸ
vote_body_params models::VoteBodyParams ื›ืŸ
session_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: VoteComment200Response


ื”ื•ืกืคืช ืชืฆื•ืจืช ื“ื•ืžื™ื™ืŸ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
add_domain_config_params models::AddDomainConfigParams ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AddDomainConfig200Response


ืžื—ื™ืงืช ืชืฆื•ืจืช ื“ื•ืžื™ื™ืŸ Internal Link


ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
domain String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteDomainConfig200Response


ืงื‘ืœืช ืชืฆื•ืจืช ื“ื•ืžื™ื™ืŸ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
domain String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetDomainConfig200Response


ืงื‘ืœืช ืชืฆื•ืจื•ืช ื“ื•ืžื™ื™ืŸ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetDomainConfigs200Response


ืขื“ื›ื•ืŸ ื—ืœืงื™ ืฉืœ ืชืฆื•ืจืช ื“ื•ืžื™ื™ืŸ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
domain_to_update String ื›ืŸ
patch_domain_config_params models::PatchDomainConfigParams ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetDomainConfig200Response


ื”ื’ื“ืจืช ืชืฆื•ืจืช ื“ื•ืžื™ื™ืŸ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
domain_to_update String ื›ืŸ
update_domain_config_params models::UpdateDomainConfigParams ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetDomainConfig200Response


ื™ืฆื™ืจืช ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_email_template_body models::CreateEmailTemplateBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateEmailTemplate200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_email_template
Copy Copy
1
2let params: CreateEmailTemplateParams = CreateEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_email_template_body: models::CreateEmailTemplateBody {
5 name: "New Comment Notification".to_string(),
6 subject: "New comment on your article".to_string(),
7 html_body: "<p>A new comment was posted on <strong>{article_title}</strong>.</p>".to_string(),
8 text_body: Some("A new comment was posted on {article_title}.".to_string()),
9 from_email: Some("no-reply@acme-news.com".to_string()),
10 enabled: Some(true),
11 },
12};
13let response: CreateEmailTemplate200Response = create_email_template(&configuration, params).await?;
14

ืžื—ื™ืงืช ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_email_template
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteEmailTemplateParams = DeleteEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_email_template(&configuration, params).await?;
8 Ok(response)
9}
10

ืžื—ื™ืงืช ืฉื’ื™ืืช ืจื™ื ื“ื•ืจ ืฉืœ ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ
error_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืฉืœ delete_email_template_render_error
Copy Copy
1
2async fn delete_email_template_render_error_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteEmailTemplateRenderErrorParams = DeleteEmailTemplateRenderErrorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "marketing/newsletter/welcome-email".to_string(),
6 error_id: "render-err-2026-01-12-01".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_email_template_render_error(configuration, params).await?;
9 Ok(response)
10}
11

ืงื‘ืœืช ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetEmailTemplate200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžืช get_email_template
Copy Copy
1
2async fn fetch_template() -> Result<GetEmailTemplate200Response, Error> {
3 let params: GetEmailTemplateParams = GetEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
8 Ok(template)
9}
10

ืงื‘ืœืช ื”ื’ื“ืจื•ืช ืชื‘ื ื™ื•ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetEmailTemplateDefinitions200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_email_template_definitions
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let config: configuration::Configuration = configuration::Configuration::default();
4 let params: GetEmailTemplateDefinitionsParams = GetEmailTemplateDefinitionsParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 locale: Some("en-US".to_string()),
7 include_inactive: Some(false),
8 };
9 let resp: GetEmailTemplateDefinitions200Response = get_email_template_definitions(&config, params).await?;
10 let _definitions = resp;
11 Ok(())
12}
13

ืงื‘ืœืช ืฉื’ื™ืื•ืช ืจื™ื ื“ื•ืจ ืฉืœ ืชื‘ื ื™ื•ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ
skip f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetEmailTemplateRenderErrors200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_email_template_render_errors
Copy Copy
1
2async fn example_call() -> 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

ืงื‘ืœืช ืชื‘ื ื™ื•ืช ื“ื•ื"ืœ 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(20.0),
6 };
7 let templates: GetEmailTemplates200Response = get_email_templates(&configuration, params).await?;
8 Ok(templates)
9}
10

ืจื™ื ื“ื•ืจ ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
render_email_template_body models::RenderEmailTemplateBody ื›ืŸ
locale String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: RenderEmailTemplate200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-render_email_template
Copy Copy
1
2let params: RenderEmailTemplateParams = RenderEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 render_email_template_body: models::RenderEmailTemplateBody {
5 template_id: "comment-notification".to_string(),
6 subject: Some("New comment on your article".to_string()),
7 placeholders: std::collections::HashMap::from([
8 ("article_title".to_string(), "Rust Gains Momentum in 2026".to_string()),
9 ("comment_author".to_string(), "Jane Doe".to_string()),
10 ("comment_snippet".to_string(), "Great insights โ€” thanks for sharing!".to_string()),
11 ]),
12 },
13 locale: Some("en-US".to_string()),
14};
15let rendered: RenderEmailTemplate200Response = render_email_template(&configuration, params).await?;
16

ืขื“ื›ื•ืŸ ืชื‘ื ื™ืช ื“ื•ื"ืœ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_email_template_body models::UpdateEmailTemplateBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-update_email_template
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-template-001".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 name: Some("Welcome Template".to_string()),
8 subject: Some("Welcome to Acme News".to_string()),
9 body_html: Some("<p>Hi , welcome to Acme News!</p>".to_string()),
10 from_address: Some("no-reply@acme-news.com".to_string()),
11 reply_to: Some("support@acme-news.com".to_string()),
12 enabled: Some(true),
13 language: Some("en-US".to_string()),
14 custom_config: Some(models::CustomConfigParameters {
15 tracking_pixel_url: Some("https://acme-news.com/pixel".to_string()),
16 }),
17 },
18 };
19
20 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
21 let _ = response;
22 Ok(())
23}
24

ืงื‘ืœืช ื™ื•ืžืŸ ืื™ืจื•ืขื™ื Internal Link

req tenantId urlId userIdWS

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ
user_id_ws String ื›ืŸ
start_time i64 ื›ืŸ
end_time i64 ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetEventLog200Response

ืงื‘ืœืช ื™ื•ืžืŸ ืื™ืจื•ืขื™ื ื’ืœื•ื‘ืœื™ Internal Link

req tenantId urlId userIdWS

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
url_id String ื›ืŸ
user_id_ws String ื›ืŸ
start_time i64 ื›ืŸ
end_time i64 ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetEventLog200Response


ื™ืฆื™ืจืช ืคื•ืกื˜ ื‘ืคื™ื“ 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


ื™ืฆื™ืจืช ืคื•ืกื˜ ื‘ืคื™ื“ ืฆื™ื‘ื•ืจื™ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_feed_post_params models::CreateFeedPostParams ื›ืŸ
broadcast_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateFeedPostPublic200Response


ืžื—ื™ืงืช ืคื•ืกื˜ ื‘ืคื™ื“ ืฆื™ื‘ื•ืจื™ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
post_id String ื›ืŸ
broadcast_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteFeedPostPublic200Response


ืงื‘ืœืช ืคื•ืกื˜ื™ื ื‘ืคื™ื“ Internal Link

req tenantId afterId

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
after_id String ืœื
limit i32 ืœื
tags Vec ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetFeedPosts200Response


ืงื‘ืœืช ืคื•ืกื˜ื™ื ื‘ืคื™ื“ ืฆื™ื‘ื•ืจื™ื™ื Internal Link

req tenantId afterId

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
after_id String ืœื
limit i32 ืœื
tags Vec ืœื
sso String ืœื
is_crawler bool ืœื
include_user_info bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetFeedPostsPublic200Response

ืงื‘ืœืช ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืคื•ืกื˜ื™ื ื‘ืคื™ื“ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื“ืจื•ืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
post_ids Vec ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetFeedPostsStats200Response


ืงื‘ืœืช ืจื™ืืงืฆื™ื•ืช ืžืฉืชืžืฉ ืฆื™ื‘ื•ืจื™ื•ืช Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
post_ids Vec ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserReactsPublic200Response


ื”ื•ืกืคืช ืจื™ืืงืฆื™ื” ืœืคื•ืกื˜ ื‘ืคื™ื“ ืฆื™ื‘ื•ืจื™ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
post_id String ื›ืŸ
react_body_params models::ReactBodyParams ื›ืŸ
is_undo bool ืœื
broadcast_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: ReactFeedPostPublic200Response


ืขื“ื›ื•ืŸ ืคื•ืกื˜ ื‘ืคื™ื“ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
feed_post models::FeedPost ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ืขื“ื›ื•ืŸ ืคื•ืกื˜ ื‘ืคื™ื“ ืฆื™ื‘ื•ืจื™ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
post_id String ื›ืŸ
update_feed_post_params models::UpdateFeedPostParams ื›ืŸ
broadcast_id String ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateFeedPostPublic200Response

ื“ื™ื•ื•ื— ืขืœ ืชื’ื•ื‘ื” ืฆื™ื‘ื•ืจื™ืช Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
comment_id String ื›ืŸ
is_flagged bool ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response


ื”ื•ืกืคืช ื”ืืฉื˜ืื’ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ืœื
create_hash_tag_body models::CreateHashTagBody ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AddHashTag200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-add_hash_tag
Copy Copy
1
2async fn run_add_hash_tag(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: AddHashTagParams = AddHashTagParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 create_hash_tag_body: Some(models::CreateHashTagBody {
6 tag: "breaking-news".to_string(),
7 label: Some("Breaking News".to_string()),
8 visible: Some(true),
9 }),
10 };
11
12 let created: AddHashTag200Response = add_hash_tag(configuration, params).await?;
13 println!("{:#?}", created);
14 Ok(())
15}
16

ื”ื•ืกืคืช ื”ืืฉื˜ืื’ื™ื ื‘ื›ืžื•ืช ื’ื“ื•ืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ืœื
bulk_create_hash_tags_body models::BulkCreateHashTagsBody ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AddHashTagsBulk200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-add_hash_tags_bulk
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 bulk_create_hash_tags_body: Some(models::BulkCreateHashTagsBody {
6 tags: vec![
7 models::BulkCreateHashTagsBodyTagsInner {
8 name: "news/article".to_string(),
9 path: "news/article".to_string(),
10 description: Some("Article tag for front page".to_string()),
11 enabled: Some(true),
12 },
13 ],
14 }),
15 };
16
17 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
18 Ok(())
19}
20

ืžื—ื™ืงืช ื”ืืฉื˜ืื’ 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() -> Result<(), Error> {
3 let params: DeleteHashTagParams = DeleteHashTagParams {
4 tag: "news/politics".to_string(),
5 tenant_id: Some("acme-corp-tenant".to_string()),
6 delete_hash_tag_request: Some(models::DeleteHashTagRequest::default()),
7 };
8 let response: FlagCommentPublic200Response = delete_hash_tag(&configuration, params).await?;
9 Ok(())
10}
11

ืงื‘ืœืช ื”ืืฉื˜ืื’ื™ื Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
page f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetHashTags200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_hash_tags
Copy Copy
1
2async fn example_get_hash_tags() -> Result<GetHashTags200Response, Error> {
3 let params: GetHashTagsParams = GetHashTagsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1.0_f64),
6 };
7 let response: GetHashTags200Response = get_hash_tags(&configuration, params).await?;
8 Ok(response)
9}
10

ืขื“ื›ื•ืŸ ื—ืœืงื™ ืฉืœ ื”ืืฉื˜ืื’ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tag String ื›ืŸ
tenant_id String ืœื
update_hash_tag_body models::UpdateHashTagBody ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PatchHashTag200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-patch_hash_tag
Copy Copy
1
2async fn run_patch_hash_tag() -> Result<PatchHashTag200Response, Error> {
3 let params: PatchHashTagParams = PatchHashTagParams {
4 tag: "breaking-news".to_string(),
5 tenant_id: Some("acme-corp-tenant".to_string()),
6 update_hash_tag_body: Some(models::UpdateHashTagBody {
7 name: "Breaking News".to_string(),
8 description: "Posts about breaking news and urgent updates".to_string(),
9 synonyms: vec!["breaking".to_string(), "urgent".to_string()],
10 is_active: true,
11 }),
12 };
13 let response: PatchHashTag200Response = patch_hash_tag(&configuration, params).await?;
14 Ok(response)
15}
16

ื™ืฆื™ืจืช ืžื•ื“ืจื˜ื•ืจ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
create_moderator_body models::CreateModeratorBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateModerator200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_moderator
Copy Copy
1
2async fn run_create_moderator() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 create_moderator_body: models::CreateModeratorBody {
6 email: "jane.doe@acme.com".to_owned(),
7 display_name: "Jane Doe".to_owned(),
8 role: Some("moderator".to_owned()),
9 active: Some(true),
10 notes: Some("Handles product and support forums".to_owned()),
11 permissions: Some(vec!["approve_comment".to_owned(), "delete_comment".to_owned()]),
12 },
13 };
14
15 let _response: CreateModerator200Response = create_moderator(&configuration, params).await?;
16 Ok(())
17}
18

ืžื—ื™ืงืช ืžื•ื“ืจื˜ื•ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
send_email String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

delete_moderator ื“ื•ื’ืžื”
Copy Copy
1
2async fn run(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteModeratorParams = DeleteModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-1234".to_string(),
6 send_email: Some("true".to_string()),
7 };
8 let response: FlagCommentPublic200Response = delete_moderator(configuration, params).await?;
9 Ok(response)
10}
11

ืงื‘ืœืช ืžื•ื“ืจื˜ื•ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetModerator200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_moderator
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetModeratorParams = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-42".to_string(),
6 include: Some(vec!["roles".to_string(), "recent_comments".to_string()]),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

ืงื‘ืœืช ืžื•ื“ืจื˜ื•ืจื™ื 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 let _moderators = moderators;
9 Ok(())
10}
11

ืฉืœื™ื—ืช ื”ื–ืžื ื” Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ
from_name String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-send_invite
Copy Copy
1
2let params: SendInviteParams = SendInviteParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "articles/2026/01/ai-news-12345".to_string(),
5 from_name: "Acme Newsroom".to_string(),
6 reply_to: Some("editorial@acme.com".to_string()),
7 message: Some("You have been invited to moderate comments on this article.".to_string()),
8};
9
10let invite_response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
11

ืขื“ื›ื•ืŸ ืžื•ื“ืจื˜ื•ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_moderator_body models::UpdateModeratorBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-update_moderator
Copy Copy
1
2let params: UpdateModeratorParams = UpdateModeratorParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "moderator-12345".to_string(),
5 update_moderator_body: models::UpdateModeratorBody {
6 username: "jane.doe".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 is_active: Some(true),
10 permissions: Some(vec!["moderate_comments".to_string(), "view_reports".to_string()]),
11 },
12};
13let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
14

ืžื—ื™ืงืช ืกืคื™ืจืช ื”ืชืจืื•ืช Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_notification_count
Copy Copy
1
2async fn run_delete_notification_count(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-9f8b7a6".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

ืงื‘ืœืช ืกืคื™ืจืช ื”ืชืจืื•ืช ื‘ืžื˜ืžื•ืŸ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetCachedNotificationCount200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_cached_notification_count
Copy Copy
1
2async fn run_get_cached_notification_count() -> Result<(), Error> {
3 let params: GetCachedNotificationCountParams = GetCachedNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 };
7 let preferred_channel: Option<String> = Some("email".to_string());
8 let response: GetCachedNotificationCount200Response =
9 get_cached_notification_count(&configuration, params).await?;
10 Ok(())
11}
12

ืงื‘ืœืช ืกืคื™ืจืช ื”ืชืจืื•ืช Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
user_id String ืœื
url_id String ืœื
from_comment_id String ืœื
viewed bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetNotificationCount200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_notification_count
Copy Copy
1
2async fn example_get_notification_count() -> Result<GetNotificationCount200Response, Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-12345")),
6 url_id: Some(String::from("news/article/2026/product-launch")),
7 from_comment_id: Some(String::from("cmt-000987")),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(response)
12}
13

ืงื‘ืœืช ื”ืชืจืื•ืช 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_string(),
5 user_id: Some("user-1234".to_string()),
6 url_id: Some("news/politics/article-2026-01-12".to_string()),
7 from_comment_id: Some("cmt-98765".to_string()),
8 viewed: Some(false),
9 skip: Some(0.0),
10 };
11 let notifications: GetNotifications200Response = get_notifications(&configuration, params).await?;
12 let _ = notifications;
13 Ok(())
14}
15

ืขื“ื›ื•ืŸ ื”ืชืจืื” 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
2pub async fn run_update_notification(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateNotificationParams = UpdateNotificationParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-67890".to_string(),
6 update_notification_body: models::UpdateNotificationBody {
7 title: Some("Flag Review Complete".to_string()),
8 message: Some("A moderator reviewed the flagged comment and marked it resolved.".to_string()),
9 resolved: Some(true),
10 channels: Some(vec!["email".to_string(), "in_app".to_string()]),
11 },
12 user_id: Some("moderator-007".to_string()),
13 };
14 let response: FlagCommentPublic200Response = update_notification(configuration, params).await?;
15 Ok(response)
16}
17

ื”ื•ืกืคืช ื“ืฃ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_api_page_data models::CreateApiPageData ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AddPageApiResponse


ืžื—ื™ืงืช ื“ืฃ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeletePageApiResponse


ืงื‘ืœืช ื“ืฃ ืœืคื™ ืžื–ื”ื” URL Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetPageByUrlidApiResponse


ืงื‘ืœืช ื“ืคื™ื Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetPagesApiResponse


ืขื“ื›ื•ืŸ ื—ืœืงื™ ืฉืœ ื“ืฃ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_api_page_data models::UpdateApiPageData ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PatchPageApiResponse


ืžื—ื™ืงืช ืื™ืจื•ืข webhook ืžืžืชื™ืŸ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_pending_webhook_event
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let event_id_opt: Option<String> = Some("webhook-event/news-article-2026-01-10-1234".to_string());
4 let event_id: String = event_id_opt.unwrap();
5 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
6 tenant_id: "acme-corp-tenant".to_string(),
7 id: event_id,
8 };
9 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
10 Ok(response)
11}
12

ืงื‘ืœืช ืกืคื™ืจืช ืื™ืจื•ืขื™ webhook ืžืžืชื™ื ื™ื 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 example() -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-12345".to_string()),
6 external_id: Some("news/article-98765".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(2.0),
10 };
11 let response: GetPendingWebhookEventCount200Response =
12 get_pending_webhook_event_count(&configuration, params).await?;
13 Ok(response)
14}
15

ืงื‘ืœืช ืื™ืจื•ืขื™ webhook ืžืžืชื™ื ื™ื 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
2let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: Some("cmt-12345".to_string()),
5 external_id: Some("article-98765".to_string()),
6 event_type: Some("comment.create".to_string()),
7 domain: Some("news.example.com".to_string()),
8 attempt_count_gt: Some(1.0),
9 skip: Some(0.0),
10};
11
12let pending: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13

ื™ืฆื™ืจืช ืชืฆื•ืจืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_question_config_body models::CreateQuestionConfigBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateQuestionConfig200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_question_config
Copy Copy
1
2let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 create_question_config_body: models::CreateQuestionConfigBody {
5 key: String::from("article-usefulness"),
6 label: Some(String::from("Was this article useful?")),
7 description: Some(String::from("Help us improve by rating this article.")),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::MultipleChoice),
10 custom_options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { value: String::from("1"), label: Some(String::from("Not useful")) },
12 models::QuestionConfigCustomOptionsInner { value: String::from("3"), label: Some(String::from("Somewhat useful")) },
13 models::QuestionConfigCustomOptionsInner { value: String::from("5"), label: Some(String::from("Very useful")) },
14 ]),
15 enabled: Some(true),
16 },
17};
18let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
19

ืžื—ื™ืงืช ืชืฆื•ืจืช ืฉืืœื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_question_config
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-config-2025".to_string(),
6 force: Some(true),
7 };
8 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
9 Ok(())
10}
11

ืงื‘ืœืช ืชืฆื•ืจืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetQuestionConfig200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_question_config
Copy Copy
1
2async fn fetch_question_config() -> Result<(), Error> {
3 let tenant_env: Option<&str> = Some("prod");
4 let tenant_id: String = match tenant_env {
5 Some(env) => format!("acme-corp-tenant-{}", env),
6 None => "acme-corp-tenant".to_string(),
7 };
8 let params: GetQuestionConfigParams = GetQuestionConfigParams {
9 tenant_id,
10 id: "news/article/2026/01/12-politics".to_string(),
11 };
12 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
13 let _status: ApiStatus = response.0;
14 Ok(())
15}
16

ืงื‘ืœืช ืชืฆื•ืจื•ืช ืฉืืœื•ืช 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 let _cfgs: GetQuestionConfigs200Response = response;
9 Ok(())
10}
11

ืขื“ื›ื•ืŸ ืชืฆื•ืจืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_question_config_body models::UpdateQuestionConfigBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-update_question_config
Copy Copy
1
2async fn run_update() -> Result<(), Error> {
3 let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article-2026-01-12"),
6 update_question_config_body: models::UpdateQuestionConfigBody {
7 question_text: String::from("Did you find this reporting accurate?"),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::Inline),
10 options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { id: String::from("opt-yes"), label: String::from("Yes"), value: String::from("yes") },
12 models::QuestionConfigCustomOptionsInner { id: String::from("opt-no"), label: String::from("No"), value: String::from("no") },
13 ]),
14 when_save: Some(models::QuestionWhenSave::OnSubmit),
15 },
16 };
17 let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
18 Ok(())
19}
20

ื™ืฆื™ืจืช ืชื•ืฆืืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_question_result_body models::CreateQuestionResultBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateQuestionResult200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_question_result
Copy Copy
1
2async fn run() -> 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: "feedback-article-2026".to_string(),
7 comment_id: Some("cmt-2026-001".to_string()),
8 user_id: Some("reader-007".to_string()),
9 answer: "yes".to_string(),
10 score: Some(4),
11 metadata: Some(std::collections::HashMap::from([(
12 "path".to_string(),
13 "news/politics/2026-election".to_string(),
14 )])),
15 anonymous: Some(false),
16 submitted_at: Some("2026-01-12T09:15:00Z".to_string()),
17 },
18 };
19
20 let created: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
21 Ok(())
22}
23

ืžื—ื™ืงืช ืชื•ืฆืืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืฉืœ delete_question_result
Copy Copy
1
2async fn run_delete() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/12345/question/67890".to_string(),
6 dry_run: Some(false),
7 request_id: Some("req-20260112-7a3b".to_string()),
8 };
9 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
10 Ok(())
11}
12

ืงื‘ืœืช ืชื•ืฆืืช ืฉืืœื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetQuestionResult200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_question_result
Copy Copy
1
2async fn run() -> Result<GetQuestionResult200Response, Error> {
3 let include_metadata: Option<bool> = Some(true);
4 let params: GetQuestionResultParams = GetQuestionResultParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "news/article/2026/12345".to_string(),
7 };
8 let response: GetQuestionResult200Response = get_question_result(&configuration, params).await?;
9 Ok(response)
10}
11

ืงื‘ืœืช ืชื•ืฆืื•ืช ืฉืืœื•ืช 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 example_get_question_results() -> Result<(), Error> {
3 let params = GetQuestionResultsParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: Some(String::from("news/article/2026/01/12/breaking")),
6 user_id: Some(String::from("user-98765")),
7 start_date: Some(String::from("2025-12-01")),
8 question_id: Some(String::from("q-42")),
9 question_ids: Some(String::from("q-42,q-43")),
10 skip: Some(10.0),
11 };
12 let results: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(())
14}
15

ืขื“ื›ื•ืŸ ืชื•ืฆืืช ืฉืืœื” 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() -> Result<(), Error> {
3 let body: models::UpdateQuestionResultBody = models::UpdateQuestionResultBody {
4 question_id: "q-12345".to_string(),
5 result: true,
6 comment: Some("Marked by moderator after review".to_string()),
7 };
8
9 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "news/article/98765".to_string(),
12 update_question_result_body: body,
13 };
14
15 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
16 println!("{:#?}", response);
17 Ok(())
18}
19

ืื’ืจื’ืฆื™ื™ืช ืชื•ืฆืื•ืช ืฉืืœื•ืช Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
question_id String ืœื
question_ids Vec ืœื
url_id String ืœื
time_bucket models::AggregateTimeBucket ืœื
start_date String ืœื
force_recalculate bool ืœื

ืชืฉื•ื‘ื”

ืžื—ื–ื™ืจ: AggregateQuestionResults200Response


ืื’ืจื’ืฆื™ื” ืžืจื•ื›ื–ืช ืฉืœ ืชื•ืฆืื•ืช ืฉืืœื•ืช Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest ื›ืŸ
force_recalculate bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: BulkAggregateQuestionResults200Response


ืฉื™ืœื•ื‘ ืชื’ื•ื‘ื•ืช ืขื ืชื•ืฆืื•ืช ืฉืืœื•ืช 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


ื”ื•ืกืคืช ืžืฉืชืžืฉ SSO Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_apisso_user_data models::CreateApissoUserData ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: AddSsoUserApiResponse


ืžื—ื™ืงืช ืžืฉืชืžืฉ SSO Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
delete_comments bool ืœื
comment_delete_mode String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteSsoUserApiResponse


ืงื‘ืœืช ืžืฉืชืžืฉ SSO ืœืคื™ ืื™ืžื™ื™ืœ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
email String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetSsoUserByEmailApiResponse


ืงื‘ืœืช ืžืฉืชืžืฉ SSO ืœืคื™ ืžื–ื”ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetSsoUserByIdApiResponse

ืงื‘ืœืช ืžืฉืชืžืฉื™ SSO Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
skip i32 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetSsoUsers200Response


ืขื“ื›ื•ืŸ ื—ืœืงื™ ืฉืœ ืžืฉืชืžืฉ SSO Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_apisso_user_data models::UpdateApissoUserData ื›ืŸ
update_comments bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PatchSsoUserApiResponse


ื”ื’ื“ืจืช/ื”ื—ืœืคืช ืžืฉืชืžืฉ SSO Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_apisso_user_data models::UpdateApissoUserData ื›ืŸ
update_comments bool ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: PutSsoUserApiResponse

ื™ืฆื™ืจืช ืžื ื•ื™ Internal Link


ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
create_api_user_subscription_data models::CreateApiUserSubscriptionData ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateSubscriptionApiResponse


ืžื—ื™ืงืช ืžื ื•ื™ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื Type ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteSubscriptionApiResponse


ืงื‘ืœืช ืžื ื•ื™ื™ื Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
user_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetSubscriptionsApiResponse


ืงื‘ืœืช ืฉื™ืžื•ืฉื™ื ื™ื•ืžื™ื™ื ืฉืœ ื”ืฉื•ื›ืจ 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() -> Result<GetTenantDailyUsages200Response, Error> {
3 let params: GetTenantDailyUsagesParams = GetTenantDailyUsagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 year_number: Some(2024.0),
6 month_number: Some(9.0),
7 day_number: Some(15.0),
8 skip: Some(0.0),
9 };
10 let response: GetTenantDailyUsages200Response = get_tenant_daily_usages(&configuration, params).await?;
11 Ok(response)
12}
13

ื™ืฆื™ืจืช ื—ื‘ื™ืœืช ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_tenant_package_body models::CreateTenantPackageBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateTenantPackage200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_tenant_package
Copy Copy
1
2async fn run_create_package() -> 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 News Package".to_string(),
7 description: Some("Moderated comments for Acme News articles".to_string()),
8 plan: Some("standard".to_string()),
9 allow_gifs: Some(true),
10 gif_rating: Some(GifRating::GeneralAudience),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 sso_security_level: Some(SsoSecurityLevel::Strict),
13 custom_config: Some(CustomConfigParameters {
14 max_comment_length: Some(1000),
15 require_moderation: Some(true),
16 }),
17 },
18 };
19 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
20 let _package: TenantPackage = response.0;
21 Ok(())
22}
23

ืžื—ื™ืงืช ื—ื‘ื™ืœืช ืฉื•ื›ืจ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_tenant_package
Copy Copy
1
2let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "pkg-news-comments-2025-01".to_string(),
5 cascade: Some(true),
6};
7let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8

ืงื‘ืœืช ื—ื‘ื™ืœืช ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetTenantPackage200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_tenant_package
Copy Copy
1
2async fn example_get_tenant_package(configuration: &configuration::Configuration) -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "premium-plan".to_string(),
6 include_details: Some(true),
7 };
8 let package: GetTenantPackage200Response = get_tenant_package(configuration, params).await?;
9 Ok(package)
10}
11

ืงื‘ืœืช ื—ื‘ื™ืœื•ืช ืฉื•ื›ืจ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
skip f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetTenantPackages200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_tenant_packages
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantPackagesParams = GetTenantPackagesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 skip: Some(20.0),
6 };
7 let _packages: GetTenantPackages200Response = get_tenant_packages(&configuration, params).await?;
8 Ok(())
9}
10

ื”ื—ืœืคืช ื—ื‘ื™ืœืช ืฉื•ื›ืจ 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: "package-basic-2026".to_string(),
6 replace_tenant_package_body: models::ReplaceTenantPackageBody {
7 name: "Moderation Basic".to_string(),
8 description: Some("Standard moderation package for news sites".to_string()),
9 enabled: Some(true),
10 plan: Some("standard".to_string()),
11 custom_config_parameters: Some(models::CustomConfigParameters {
12 max_comment_length: Some(1000),
13 allow_images: Some(true),
14 }),
15 vote_style: Some(models::VoteStyle::Thumbs),
16 },
17 };
18 let response = replace_tenant_package(&configuration, params).await?;
19 Ok(response)
20}
21

ืขื“ื›ื•ืŸ ื—ื‘ื™ืœืช ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_tenant_package_body models::UpdateTenantPackageBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืฉืœ update_tenant_package
Copy Copy
1
2async fn example_update_tenant_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pro-plan-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: Some("Pro Plan".to_string()),
8 description: Some("Priority support, custom branding, and advanced moderation tools".to_string()),
9 enabled: Some(true),
10 monthly_price_cents: Some(1999),
11 features: Some(vec![
12 "priority_support".to_string(),
13 "custom_branding".to_string(),
14 "advanced_moderation".to_string(),
15 ]),
16 },
17 };
18
19 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
20 Ok(response)
21}
22

ื™ืฆื™ืจืช ืžืฉืชืžืฉ ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_tenant_user_body models::CreateTenantUserBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateTenantUser200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-create_tenant_user
Copy Copy
1
2let create_tenant_user_body: models::CreateTenantUserBody = models::CreateTenantUserBody {
3 email: "jane.doe@acme.com".to_string(),
4 display_name: Some("Jane Doe".to_string()),
5 role: Some("moderator".to_string()),
6 external_id: Some("acme-12345".to_string()),
7 subscribed_to_digest: Some(false),
8};
9let params: CreateTenantUserParams = CreateTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 create_tenant_user_body,
12};
13let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
14

ืžื—ื™ืงืช ืžืฉืชืžืฉ ืฉื•ื›ืจ 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-12345".to_string(),
6 delete_comments: Some("true".to_string()),
7 comment_delete_mode: Some("cascade".to_string()),
8 };
9 let resp: FlagCommentPublic200Response = delete_tenant_user(&configuration, params).await?;
10 Ok(resp)
11}
12

ืงื‘ืœืช ืžืฉืชืžืฉ ืฉื•ื›ืจ 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-7a3f2b".to_string(),
6 };
7 let include_related: Option<String> = Some("roles,preferences".to_string());
8 let response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 Ok(())
10}
11

ืงื‘ืœืช ืžืฉืชืžืฉื™ ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
skip f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetTenantUsers200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_tenant_users
Copy Copy
1
2async fn fetch_tenant_users() -> Result<GetTenantUsers200Response, Error> {
3 let params: GetTenantUsersParams = GetTenantUsersParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let response: GetTenantUsers200Response = get_tenant_users(&configuration, params).await?;
8 Ok(response)
9}
10

ื”ื—ืœืคืช ืžืฉืชืžืฉ ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String Yes
id String Yes
replace_tenant_user_body models::ReplaceTenantUserBody Yes
update_comments String No

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืฉืœ replace_tenant_user
Copy Copy
1
2let cfg: &configuration::Configuration = &configuration;
3let replace_tenant_user_body: models::ReplaceTenantUserBody = models::ReplaceTenantUserBody {
4 external_id: Some("acct-834".to_string()),
5 email: Some("jane.doe@acme-news.com".to_string()),
6 display_name: Some("Jane Doe".to_string()),
7 role: Some("moderator".to_string()),
8};
9let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "user-834".to_string(),
12 replace_tenant_user_body,
13 update_comments: Some("true".to_string()),
14};
15let resp: FlagCommentPublic200Response = replace_tenant_user(cfg, params).await?;
16

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
redirect_url String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-send_login_link
Copy Copy
1
2async fn example_send_login_link() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendLoginLinkParams = SendLoginLinkParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "jane.doe@acme.com".to_string(),
6 redirect_url: Some("https://acme.example.com/dashboard".to_string()),
7 };
8 let response: FlagCommentPublic200Response = send_login_link(&configuration, params).await?;
9 Ok(response)
10}
11

ืขื“ื›ื•ืŸ ืžืฉืชืžืฉ ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String Yes
id String Yes
update_tenant_user_body models::UpdateTenantUserBody Yes
update_comments String No

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-update_tenant_user
Copy Copy
1
2async fn update_user_example(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-78b2".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 username: "jdoe".to_string(),
8 display_name: "John Doe".to_string(),
9 email: "john.doe@acme.com".to_string(),
10 roles: vec!["moderator".to_string()],
11 suspended: false,
12 },
13 update_comments: Some("Promoted to moderator for community moderation".to_string()),
14 };
15 let response: FlagCommentPublic200Response = update_tenant_user(configuration, params).await?;
16 println!("updated user response status: {:?}", response);
17 Ok(())
18}
19

ื™ืฆื™ืจืช ืฉื•ื›ืจ 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-news-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme News".to_string(),
7 domain: Some("news.acme.com".to_string()),
8 api_domain_configuration: Some(models::ApiDomainConfiguration {
9 domain: "api.news.acme.com".to_string(),
10 enforce_https: true,
11 }),
12 billing_info: Some(models::BillingInfo {
13 contact_email: "billing@acme.com".to_string(),
14 plan_id: "pro_monthly".to_string(),
15 }),
16 imported_site_type: Some(models::ImportedSiteType::Articles),
17 ..Default::default()
18 },
19 };
20
21 let created: CreateTenant200Response = create_tenant(&configuration, params).await?;
22 Ok(())
23}
24

ืžื—ื™ืงืช ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ
sure String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžืช delete_tenant
Copy Copy
1
2async fn example_delete_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantParams = DeleteTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 sure: Some("confirm".to_string()),
7 };
8 let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
9 Ok(response)
10}
11

ืงื‘ืœืช ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetTenant200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_tenant
Copy Copy
1
2async fn run_get_tenant() -> Result<(), Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article"),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let tenant_response: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(())
10}
11

ืงื‘ืœืช ืฉื•ื›ืจื™ื 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: String::from("acme-corp-tenant"),
5 meta: Some(String::from("include=domains,settings")),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 Ok(())
10}
11

ืขื“ื›ื•ืŸ ืฉื•ื›ืจ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
id String ื›ืŸ
update_tenant_body models::UpdateTenantBody ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: FlagCommentPublic200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-update_tenant
Copy Copy
1
2async fn run_update_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantParams = UpdateTenantParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 id: "site-42".to_owned(),
6 update_tenant_body: models::UpdateTenantBody {
7 name: Some("Acme Corporation".to_string()),
8 default_site: Some("news/article".to_string()),
9 allowed_origins: Some(vec![
10 "https://www.acme.com".to_string(),
11 "https://blog.acme.com".to_string(),
12 ]),
13 invite_only: Some(false),
14 api_domain_configuration: Some(ApiDomainConfiguration {
15 domain: "comments.acme.com".to_string(),
16 secure: Some(true),
17 ..Default::default()
18 }),
19 ..Default::default()
20 },
21 };
22 let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23 Ok(response)
24}
25

ื”ืขืœืืช ืชืžื•ื ื” Internal Link

ื”ืขืœืื” ื•ืฉื™ื ื•ื™ ื’ื•ื“ืœ ืฉืœ ืชืžื•ื ื”

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
file std::path::PathBuf ื›ืŸ
size_preset models::SizePreset ืœื
url_id String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UploadImageResponse


ืงื‘ืœืช ื”ืชืงื“ืžื•ืช ืชื’ ืžืฉืชืžืฉ ืœืคื™ ืžื–ื”ื” Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserBadgeProgressById200Response


ืงื‘ืœืช ื”ืชืงื“ืžื•ืช ืชื’ ืœืคื™ ืžื–ื”ื” ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
user_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserBadgeProgressById200Response


ืงื‘ืœืช ืจืฉื™ืžืช ื”ืชืงื“ืžื•ืช ืชื’ื™ ืžืฉืชืžืฉ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
user_id String ืœื
limit f64 ืœื
skip f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserBadgeProgressList200Response


ื™ืฆื™ืจืช ืชื’ ืžืฉืชืžืฉ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
create_user_badge_params models::CreateUserBadgeParams ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: CreateUserBadge200Response


ืžื—ื™ืงืช ืชื’ ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UpdateUserBadge200Response

ืงื‘ืœืช ืชื’ ืžืฉืชืžืฉ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserBadge200Response


ืงื‘ืœืช ืชื’ื™ ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
user_id String ืœื
badge_id String ืœื
displayed_on_comments bool ืœื
limit f64 ืœื
skip f64 ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserBadges200Response


ืขื“ื›ื•ืŸ ืชื’ ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
update_user_badge_params models::UpdateUserBadgeParams ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UpdateUserBadge200Response

ืงื‘ืœืช ืกืคื™ืจืช ื”ืชืจืื•ืช ืฉืœ ืžืฉืชืžืฉ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserNotificationCount200Response


ืงื‘ืœืช ื”ืชืจืื•ืช ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
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


ืื™ืคื•ืก ืกืคื™ืจืช ื”ืชืจืื•ืช ืžืฉืชืžืฉ Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: ResetUserNotifications200Response


ืื™ืคื•ืก ื”ืชืจืื•ืช ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

Name Type Required Description
tenant_id String ื›ืŸ
after_id String ืœื
after_created_at i64 ืœื
unread_only bool ืœื
dm_only bool ืœื
no_dm bool ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: ResetUserNotifications200Response


ืขื“ื›ื•ืŸ ืกื˜ื˜ื•ืก ืžื ื•ื™ ื”ืชืจืื•ืช ืขืœ ืชื’ื•ื‘ื•ืช ืฉืœ ืžืฉืชืžืฉ Internal Link


ื”ืคืขืœ ืื• ื”ืฉื‘ืช ื”ืชืจืื•ืช ืขื‘ื•ืจ ืชื’ื•ื‘ื” ืกืคืฆื™ืคื™ืช.

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
notification_id String ื›ืŸ
opted_in_or_out String ื›ืŸ
comment_id String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UpdateUserNotificationStatus200Response


ืขื“ื›ื•ืŸ ืกื˜ื˜ื•ืก ืžื ื•ื™ ื”ืชืจืื•ืช ืœื“ืฃ ืฉืœ ืžืฉืชืžืฉ Internal Link

ื”ืคืขืœ ืื• ื”ืฉื‘ืช ื”ืชืจืื•ืช ืขื‘ื•ืจ ื“ืฃ. ื›ืืฉืจ ืžืฉืชืžืฉื™ื ืžื ื•ื™ื™ื ืœื“ืฃ, ื ื•ืฆืจื•ืช ื”ืชืจืื•ืช ืขื‘ื•ืจ ืชื’ื•ื‘ื•ืช ืฉื•ืจืฉ ื—ื“ืฉื•ืช, ื•ื’ื

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ
url String ื›ืŸ
page_title String ื›ืŸ
subscribed_or_unsubscribed String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UpdateUserNotificationStatus200Response


ืขื“ื›ื•ืŸ ืกื˜ื˜ื•ืก ื”ืชืจืื” ืฉืœ ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
notification_id String ื›ืŸ
new_status String ื›ืŸ
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: UpdateUserNotificationStatus200Response


ืงื‘ืœืช ืžืฆื‘ื™ ื ื•ื›ื—ื•ืช ืฉืœ ืžืฉืชืžืฉื™ื Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื—ื•ื‘ื” ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id_ws String ื›ืŸ
user_ids String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUserPresenceStatuses200Response


ื—ื™ืคื•ืฉ ืžืฉืชืžืฉื™ื Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ
username_starts_with String ื›ืŸ
mention_group_ids Vec ืœื
sso String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: SearchUsers200Response


ืงื‘ืœืช ืžืฉืชืžืฉ Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetUser200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_user
Copy Copy
1
2async fn run_get_user() -> Result<(), Error> {
3 let maybe_id: Option<String> = Some("user-6412".to_owned());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: "acme-corp-tenant".to_owned(),
6 id: maybe_id.unwrap(),
7 };
8 let user_response: GetUser200Response = get_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

ื™ืฆื™ืจืช ื”ืฆื‘ืขื” 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 run_vote() -> Result<VoteComment200Response, Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/2026/01/12/local-election-12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user_9876".to_string()),
8 anon_user_id: None,
9 };
10 let response: VoteComment200Response = create_vote(&configuration, params).await?;
11 Ok(response)
12}
13

ืžื—ื™ืงืช ื”ืฆื‘ืขื” Internal Link


ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
id String ื›ืŸ
edit_key String ืœื

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: DeleteCommentVote200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-delete_vote
Copy Copy
1
2async fn run_delete_vote() -> Result<(), Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/67890/comment/12345".to_string(),
6 edit_key: Some("user-editkey-7f3b".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(())
10}
11

ืงื‘ืœืช ื”ืฆื‘ืขื•ืช Internal Link

ืคืจืžื˜ืจื™ื

ืฉื ืกื•ื’ ื ื“ืจืฉ ืชื™ืื•ืจ
tenant_id String ื›ืŸ
url_id String ื›ืŸ

ืชื’ื•ื‘ื”

ืžื—ื–ื™ืจ: GetVotes200Response

ื“ื•ื’ืžื”

ื“ื•ื’ืžื” ืœ-get_votes
Copy Copy
1
2async fn fetch_votes_example() -> Result<(), Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article/2026-01-12/housing-market"),
6 };
7 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
8 let _ = votes;
9 Ok(())
10}
11

ืงื‘ืœืช ื”ืฆื‘ืขื•ืช ืขื‘ื•ืจ ืžืฉืชืžืฉ 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 fetch_votes() -> Result<GetVotesForUser200Response, Error> {
3 let params = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/2026/01/12/breaking-tech"),
6 user_id: Some(String::from("user-78a3")),
7 anon_user_id: Some(String::from("anon-4f2b")),
8 };
9 let response: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(response)
11}
12

ืฆืจื™ืš ืขื–ืจื”?

ืื ืชื™ืชืงืœ ื‘ื‘ืขื™ื•ืช ืื• ื™ืฉ ืœืš ืฉืืœื•ืช ืœื’ื‘ื™ ื”-Rust SDK, ืื ื:

ืชืจื•ืžื”

ืชืจื•ืžื•ืช ืžืชืงื‘ืœื•ืช ื‘ื‘ืจื›ื”! ืื ื ื‘ืงืจ ื‘ืžืื’ืจ ื”-GitHub ืœืงื‘ืœืช ื”ื ื—ื™ื•ืช ืœืชืจื•ืžื”.