
Getting Started
Documentation
Aggregate
Audit Logs
Block From Comment
Check Blocked Comments
Comments
Domain Configs
Event Log
Feed Posts
Flag Comment
Pages
Question Results Aggregation
SSO Users
Subscriptions
Upload Image
User Badge Progress
User Badges
User Notifications
User Presence Status
User Search
FastComments Python SDK
This is the official Python SDK for FastComments.
Official Python SDK for the FastComments API
Repository
Installation 
PyPI
pip install fastcomments-python
Library Contents
This library contains two modules: the generated API client and the core Python library which contains hand-written utilities to make working with the API easier, including SSO support.
Public vs Secured APIs
For the API client, there are two classes, DefaultApi and PublicApi. The DefaultApi contains methods that require your API key, and PublicApi contains API calls that can be made directly from a browser/mobile device/etc without authentication.
Quick Start 
Using Authenticated APIs (DefaultApi)
Important: You must set your API key on the Configuration before making authenticated requests. If you don't, requests will fail with a 401 error.
from client import ApiClient, Configuration, DefaultApi
from client.models import CreateAPISSOUserData
# Create and configure the API client
config = Configuration()
config.host = "https://fastcomments.com/api"
# REQUIRED: Set your API key (get this from your FastComments dashboard)
config.api_key = {"ApiKeyAuth": "YOUR_API_KEY_HERE"}
# Create the API instance with the configured client
api_client = ApiClient(configuration=config)
api = DefaultApi(api_client)
# Now you can make authenticated API calls
try:
# Example: Add an SSO user
user_data = CreateAPISSOUserData(
id="user-123",
email="user@example.com",
display_name="John Doe"
)
response = api.add_sso_user(
tenant_id="YOUR_TENANT_ID",
create_apisso_user_data=user_data
)
print(f"User created: {response}")
except Exception as e:
print(f"Error: {e}")
# Common errors:
# - 401: API key is missing or invalid
# - 400: Request validation failed
Using Public APIs (PublicApi)
Public endpoints don't require authentication:
from client import ApiClient, Configuration, PublicApi
config = Configuration()
config.host = "https://fastcomments.com/api"
api_client = ApiClient(configuration=config)
public_api = PublicApi(api_client)
try:
response = public_api.get_comments_public(
tenant_id="YOUR_TENANT_ID",
url_id="page-url-id"
)
print(response)
except Exception as e:
print(f"Error: {e}")
Using SSO (Single Sign-On)
The SDK includes utilities for generating secure SSO tokens:
from sso import FastCommentsSSO, SecureSSOUserData
# Create user data
user_data = SecureSSOUserData(
user_id="user-123",
email="user@example.com",
username="johndoe",
avatar="https://example.com/avatar.jpg"
)
# Create SSO instance with your API secret
sso = FastCommentsSSO.new_secure(
api_secret="YOUR_API_SECRET",
user_data=user_data
)
# Generate the SSO token
sso_token = sso.create_token()
# Use this token in your frontend or pass to API calls
print(f"SSO Token: {sso_token}")
For simple SSO (less secure, for testing):
from sso import FastCommentsSSO, SimpleSSOUserData
user_data = SimpleSSOUserData(
user_id="user-123",
email="user@example.com"
)
sso = FastCommentsSSO.new_simple(user_data)
sso_token = sso.create_token()
Common Issues
- 401 "missing-api-key" error: Make sure you set
config.api_key = {"ApiKeyAuth": "YOUR_KEY"}before creating the DefaultApi instance. - Wrong API class: Use
DefaultApifor server-side authenticated requests,PublicApifor client-side/public requests. - Import errors: Make sure you're importing from the correct module:
- API client:
from client import ... - SSO utilities:
from sso import ...
- API client:
Development 
Running Tests
# Set up environment variables
export FASTCOMMENTS_API_KEY="your-api-key"
export FASTCOMMENTS_TENANT_ID="your-tenant-id"
# Run tests
pytest tests/
Regenerating the Client
To regenerate the API client from the latest OpenAPI specification:
./update.sh
This will:
- Download the latest OpenAPI spec from a running FastComments server (or use local openapi.yaml)
- Generate the Python client code
- Flatten the directory structure
- Clean up redundant configuration files
Notes 
Broadcast IDs
You'll see you're supposed to pass a broadcast_id in some API calls. When you receive events, you'll get this ID back, so you know to ignore the event if you plan to optimistically apply changes on the client (which you'll probably want to do since it offers the best experience). Pass a UUID here. The ID should be unique enough to not occur twice in a browser session.
Requirements 
- Python >= 3.8
- urllib3 >= 1.25.3
- python-dateutil >= 2.8.2
- pydantic >= 2.0.0
- typing-extensions >= 4.0.0
aggregate 
Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| parentTenantId | string | query | No | |
| includeStats | boolean | query | No |
Response
Returns: AggregationResponse
Example

get_audit_logs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| limit | number | query | No | |
| skip | number | query | No | |
| order | string | query | No | |
| after | number | query | No | |
| before | number | query | No |
Response
Returns: GetAuditLogs200Response
Example

block_from_comment_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: BlockFromCommentPublic200Response
Example

un_block_comment_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UnBlockCommentPublic200Response
Example

checked_comments_for_blocked 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentIds | string | query | Yes | A comma separated list of comment ids. |
| sso | string | query | No |
Response
Returns: CheckedCommentsForBlocked200Response
Example

block_user_from_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: BlockFromCommentPublic200Response
Example

create_comment_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateCommentPublic200Response
Example

delete_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| isLive | boolean | query | No |
Response
Returns: DeleteComment200Response
Example

delete_comment_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: DeleteCommentPublic200Response
Example

delete_comment_vote 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| voteId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: DeleteCommentVote200Response
Example

flag_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: FlagComment200Response
Example

get_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetComment200Response
Example

get_comment_text 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: GetCommentText200Response
Example

get_comment_vote_user_names 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| dir | integer | query | Yes | |
| sso | string | query | No |
Response
Returns: GetCommentVoteUserNames200Response
Example

get_comments 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| page | integer | query | No | |
| limit | integer | query | No | |
| skip | integer | query | No | |
| asTree | boolean | query | No | |
| skipChildren | integer | query | No | |
| limitChildren | integer | query | No | |
| maxTreeDepth | integer | query | No | |
| urlId | string | query | No | |
| userId | string | query | No | |
| anonUserId | string | query | No | |
| contextUserId | string | query | No | |
| hashTag | string | query | No | |
| parentId | string | query | No | |
| direction | string | query | No |
Response
Returns: GetComments200Response
Example

get_comments_public 
req tenantId urlId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| page | integer | query | No | |
| direction | string | query | No | |
| sso | string | query | No | |
| skip | integer | query | No | |
| skipChildren | integer | query | No | |
| limit | integer | query | No | |
| limitChildren | integer | query | No | |
| countChildren | boolean | query | No | |
| fetchPageForCommentId | string | query | No | |
| includeConfig | boolean | query | No | |
| countAll | boolean | query | No | |
| includei10n | boolean | query | No | |
| locale | string | query | No | |
| modules | string | query | No | |
| isCrawler | boolean | query | No | |
| includeNotificationCount | boolean | query | No | |
| asTree | boolean | query | No | |
| maxTreeDepth | integer | query | No | |
| useFullTranslationIds | boolean | query | No | |
| parentId | string | query | No | |
| searchText | string | query | No | |
| hashTags | array | query | No | |
| userId | string | query | No | |
| customConfigStr | string | query | No | |
| afterCommentId | string | query | No | |
| beforeCommentId | string | query | No |
Response
Returns: GetCommentsPublic200Response
Example

lock_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: LockComment200Response
Example

pin_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: PinComment200Response
Example

save_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
Response
Returns: SaveComment200Response
Example

save_comments_bulk 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
Response
Returns: SaveComment200Response
Example

set_comment_text 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
Response
Returns: SetCommentText200Response
Example

un_block_user_from_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: UnBlockCommentPublic200Response
Example

un_flag_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
Response
Returns: FlagComment200Response
Example

un_lock_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: LockComment200Response
Example

un_pin_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: PinComment200Response
Example

update_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| doSpamCheck | boolean | query | No | |
| isLive | boolean | query | No |
Response
Returns: FlagCommentPublic200Response
Example

vote_comment 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No |
Response
Returns: VoteComment200Response
Example

add_domain_config 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddDomainConfig200Response
Example

delete_domain_config 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Response
Returns: DeleteDomainConfig200Response
Example

get_domain_config 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domain | string | path | Yes |
Response
Returns: GetDomainConfig200Response
Example

get_domain_configs 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetDomainConfigs200Response
Example

patch_domain_config 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Response
Returns: GetDomainConfig200Response
Example

put_domain_config 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
Response
Returns: GetDomainConfig200Response
Example

get_event_log 
req tenantId urlId userIdWS
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| userIdWS | string | query | Yes | |
| startTime | integer | query | Yes | |
| endTime | integer | query | Yes |
Response
Returns: GetEventLog200Response
Example

get_global_event_log 
req tenantId urlId userIdWS
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| userIdWS | string | query | Yes | |
| startTime | integer | query | Yes | |
| endTime | integer | query | Yes |
Response
Returns: GetEventLog200Response
Example

create_feed_post 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| broadcastId | string | query | No | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| skipDupCheck | boolean | query | No |
Response
Returns: CreateFeedPost200Response
Example

create_feed_post_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateFeedPostPublic200Response
Example

delete_feed_post_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: DeleteFeedPostPublic200Response
Example

get_feed_posts 
req tenantId afterId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| limit | integer | query | No | |
| tags | array | query | No |
Response
Returns: GetFeedPosts200Response
Example

get_feed_posts_public 
req tenantId afterId
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| afterId | string | query | No | |
| limit | integer | query | No | |
| tags | array | query | No | |
| sso | string | query | No | |
| isCrawler | boolean | query | No | |
| includeUserInfo | boolean | query | No |
Response
Returns: GetFeedPostsPublic200Response
Example

get_feed_posts_stats 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | Yes | |
| sso | string | query | No |
Response
Returns: GetFeedPostsStats200Response
Example

get_user_reacts_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | No | |
| sso | string | query | No |
Response
Returns: GetUserReactsPublic200Response
Example

react_feed_post_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| isUndo | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: ReactFeedPostPublic200Response
Example

update_feed_post 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: FlagCommentPublic200Response
Example

update_feed_post_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
Response
Returns: CreateFeedPostPublic200Response
Example

flag_comment_public 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| isFlagged | boolean | query | Yes | |
| sso | string | query | No |
Response
Returns: FlagCommentPublic200Response
Example

add_page 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddPageAPIResponse
Example

delete_page 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: DeletePageAPIResponse
Example

get_page_by_urlid 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
Response
Returns: GetPageByURLIdAPIResponse
Example

get_pages 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: GetPagesAPIResponse
Example

patch_page 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: PatchPageAPIResponse
Example

aggregate_question_results 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| questionId | string | query | No | |
| questionIds | array | query | No | |
| urlId | string | query | No | |
| timeBucket | string | query | No | |
| startDate | string | query | No | |
| forceRecalculate | boolean | query | No |
Response
Returns: AggregateQuestionResults200Response
Example

bulk_aggregate_question_results 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| forceRecalculate | boolean | query | No |
Response
Returns: BulkAggregateQuestionResults200Response
Example

combine_comments_with_question_results 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| questionId | string | query | No | |
| questionIds | array | query | No | |
| urlId | string | query | No | |
| startDate | string | query | No | |
| forceRecalculate | boolean | query | No | |
| minValue | number | query | No | |
| maxValue | number | query | No | |
| limit | number | query | No |
Response
Returns: CombineCommentsWithQuestionResults200Response
Example

add_sso_user 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: AddSSOUserAPIResponse
Example

delete_sso_user 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| deleteComments | boolean | query | No | |
| commentDeleteMode | string | query | No |
Response
Returns: DeleteSSOUserAPIResponse
Example

get_sso_user_by_email 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| string | path | Yes |
Response
Returns: GetSSOUserByEmailAPIResponse
Example

get_sso_user_by_id 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetSSOUserByIdAPIResponse
Example

get_sso_users 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| skip | integer | query | No |
Response
Returns: GetSSOUsers200Response
Example

patch_sso_user 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Response
Returns: PatchSSOUserAPIResponse
Example

put_sso_user 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| updateComments | boolean | query | No |
Response
Returns: PutSSOUserAPIResponse
Example

create_subscription 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateSubscriptionAPIResponse
Example

delete_subscription 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| userId | string | query | No |
Response
Returns: DeleteSubscriptionAPIResponse
Example

get_subscriptions 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No |
Response
Returns: GetSubscriptionsAPIResponse
Example

upload_image 
Upload and resize an image
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| sizePreset | string | query | No | Size preset: "Default" (1000x1000px) or "CrossPlatform" (creates sizes for popular devices) |
| urlId | string | query | No | Page id that upload is happening from, to configure |
Response
Returns: UploadImageResponse
Example

get_user_badge_progress_by_id 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetUserBadgeProgressById200Response
Example

get_user_badge_progress_by_user_id 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | path | Yes |
Response
Returns: GetUserBadgeProgressById200Response
Example

get_user_badge_progress_list 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| limit | number | query | No | |
| skip | number | query | No |
Response
Returns: GetUserBadgeProgressList200Response
Example

create_user_badge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
Response
Returns: CreateUserBadge200Response
Example

delete_user_badge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: UpdateUserBadge200Response
Example

get_user_badge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: GetUserBadge200Response
Example

get_user_badges 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| badgeId | string | query | No | |
| type | number | query | No | |
| displayedOnComments | boolean | query | No | |
| limit | number | query | No | |
| skip | number | query | No |
Response
Returns: GetUserBadges200Response
Example

update_user_badge 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
Returns: UpdateUserBadge200Response
Example

get_user_notification_count 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: GetUserNotificationCount200Response
Example

get_user_notifications 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| pageSize | integer | query | No | |
| afterId | string | query | No | |
| includeContext | boolean | query | No | |
| afterCreatedAt | integer | query | No | |
| unreadOnly | boolean | query | No | |
| dmOnly | boolean | query | No | |
| noDm | boolean | query | No | |
| includeTranslations | boolean | query | No | |
| sso | string | query | No |
Response
Returns: GetUserNotifications200Response
Example

reset_user_notification_count 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: ResetUserNotifications200Response
Example

reset_user_notifications 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| afterCreatedAt | integer | query | No | |
| unreadOnly | boolean | query | No | |
| dmOnly | boolean | query | No | |
| noDm | boolean | query | No | |
| sso | string | query | No |
Response
Returns: ResetUserNotifications200Response
Example

update_user_notification_comment_subscription_status 
Enable or disable notifications for a specific comment.
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| notificationId | string | path | Yes | |
| optedInOrOut | string | path | Yes | |
| commentId | string | query | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationStatus200Response
Example

update_user_notification_page_subscription_status 
Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| url | string | query | Yes | |
| pageTitle | string | query | Yes | |
| subscribedOrUnsubscribed | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationStatus200Response
Example

update_user_notification_status 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| notificationId | string | path | Yes | |
| newStatus | string | path | Yes | |
| sso | string | query | No |
Response
Returns: UpdateUserNotificationStatus200Response
Example

get_user_presence_statuses 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlIdWS | string | query | Yes | |
| userIds | string | query | Yes |
Response
Returns: GetUserPresenceStatuses200Response
Example

search_users 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| usernameStartsWith | string | query | Yes | |
| mentionGroupIds | array | query | No | |
| sso | string | query | No |
Response
Returns: SearchUsers200Response
Example

Need Help?
If you encounter any issues or have questions about the Python SDK, please:
Contributing
Contributions are welcome! Please visit the GitHub repository for contribution guidelines.