Skip to content

v3.3.0

Choose a tag to compare

@winrid winrid released this 15 Jun 19:58
· 18 commits to main since this release

Endpoints

Added

  • getOnlineUsers (GET /pages/{tenantId}/users/online) -> GetOnlineUsers200Response
  • getOfflineUsers (GET /pages/{tenantId}/users/offline) -> GetOfflineUsers200Response
  • getUsersInfo (GET /pages/{tenantId}/users/info) -> GetUsersInfo200Response
  • getPagesPublic (GET /pages/{tenantId}) -> GetPagesPublic200Response
  • getUserNotifications gains the urlId query param (reports page subscription state via isSubscribed).

Removed

  • getCommentsForUser and its GetCommentsForUserResponse model (endpoint no longer exists).

Gif/logout operation names unchanged: getGifLarge, getGifsSearch, getGifsTrending, logoutPublic.

Response models

  • GifSearchResponse: status and images now required; code and reason removed (errors now surface via the new GifSearchInternalError = { status, code }).
  • GifGetLargeResponse: status and src now required; code and reason removed.
  • GetTranslationsResponse: status and translations now required; code and reason removed.
  • SaveCommentResponse -> APISaveCommentResponse (renamed): { status, comment, user, moduleData? }. Save endpoint return type is now SaveComment200Response { comment }.
  • New wrapper response models returned by their endpoints (success-or-error unions):
    • Aggregate200Response { status, data, stats?, code, reason, validResourceNames? } + standalone AggregationAPIError { status, code, reason, validResourceNames? }
    • GetGifsSearch200Response, GetGifsTrending200Response, GetGifLarge200Response
    • GetOnlineUsers200Response, GetOfflineUsers200Response, GetUsersInfo200Response, GetPagesPublic200Response, GetTranslations200Response (each carries status, the payload, and the shared error fields code, reason, bannedUntil?, maxCharacterLength?, secondaryCode?, translatedError?, customConfig?)
  • New page-user payload models:
    • PageUserEntry { id, displayName, avatarSrc?, isPrivate? }
    • PageUsersOnlineResponse { status, users, anonCount, totalCount, nextAfterName, nextAfterUserId }
    • PageUsersOfflineResponse { status, users, nextAfterName, nextAfterUserId }
    • PageUsersInfoResponse { status, users }
    • PublicPage { urlId, url, title, commentCount, updatedAt }, GetPublicPagesResponse { status, pages, nextCursor }, PagesSortBy enum

Data models

  • TenantPackage +templateId?, flexLLMCostCents?, flexLLMUnit?, hasAIAgents?, maxAIAgents?, aiAgentDailyBudgetCents?, aiAgentMonthlyBudgetCents?
  • CreateTenantPackageBody renamed flexChatGPTCostCents? -> flexLLMCostCents?, flexChatGPTUnit? -> flexLLMUnit? (breaking for callers of this body)
  • CustomConfigParameters +enableFChat?, usersListLocation? (new UsersListLocation enum), usersListIncludeOffline?
  • User +agentApprovalNotificationFrequency? (new ImportedAgentApprovalNotificationFrequency enum)
  • CommentData / CreateCommentParams +botId?
  • FComment +botId?
  • CommentLogData +source?
  • HeaderAccountNotification +type?: string | null
  • LiveEvent +sc?: number

Generator naming churn (no shape change)

  • questionValues value type re-emitted under the generated name GifSearchResponseImagesInnerInner (was RecordStringStringOrNumberValue); same record shape.
  • RecordStringStringOrNumberValue model dropped in favor of RecordStringBeforeStringOrNullAfterStringOrNullValue { before, after }.