Documentation
ΒΆ
Overview ΒΆ
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
Index ΒΆ
- Constants
- Variables
- func EncodeValueToQueryParam(value any) string
- func GetEventType(rawEvent []byte) string
- func PtrTo[T any](v T) *T
- func StructToMapWithTags(input any, tagName string) (map[string]any, error)
- func VerifyWebhookSignature(body []byte, signature string, secret string) bool
- func Version() string
- func WebhookMiddleware(secret string) func(http.Handler) http.Handler
- type AIImageConfig
- type AITextConfig
- type AIVideoConfig
- type APIError
- type APNConfig
- type APNConfigFields
- type APNS
- type APNSPayload
- type AWSRekognitionRule
- type AcceptFeedMemberInviteRequest
- type AcceptFeedMemberInviteResponse
- type AcceptFollowRequest
- type AcceptFollowResponse
- type Action
- type ActionLogResponse
- type ActionSequence
- type ActiveCallsBitrateStats
- type ActiveCallsFPSStats
- type ActiveCallsLatencyStats
- type ActiveCallsMetrics
- type ActiveCallsResolutionStats
- type ActiveCallsSummary
- type ActivityAddedEvent
- type ActivityDeletedEvent
- type ActivityFeedbackEvent
- type ActivityFeedbackEventPayload
- type ActivityFeedbackRequest
- type ActivityFeedbackResponse
- type ActivityLocation
- type ActivityMarkEvent
- type ActivityPinResponse
- type ActivityPinnedEvent
- type ActivityProcessorConfig
- type ActivityReactionAddedEvent
- type ActivityReactionDeletedEvent
- type ActivityReactionUpdatedEvent
- type ActivityRemovedFromFeedEvent
- type ActivityRequest
- type ActivityResponse
- type ActivityRestoredEvent
- type ActivitySelectorConfig
- type ActivitySelectorConfigResponse
- type ActivityUnpinnedEvent
- type ActivityUpdatedEvent
- type AddActivityReactionRequest
- type AddActivityRequest
- type AddActivityResponse
- type AddBookmarkRequest
- type AddBookmarkResponse
- type AddCommentReactionRequest
- type AddCommentReactionResponse
- type AddCommentRequest
- type AddCommentResponse
- type AddCommentsBatchRequest
- type AddCommentsBatchResponse
- type AddFolderRequest
- type AddReactionRequest
- type AddReactionResponse
- type AddUserGroupMembersRequest
- type AddUserGroupMembersResponse
- type AggregatedActivityResponse
- type AggregationConfig
- type AppResponseFields
- type AppealAcceptedEvent
- type AppealCreatedEvent
- type AppealItemResponse
- type AppealRejectedEvent
- type AppealRequest
- type AppealResponse
- type AsyncBulkImageModerationEvent
- type AsyncExportChannelsEvent
- type AsyncExportErrorEvent
- type AsyncExportModerationLogsEvent
- type AsyncExportUsersEvent
- type AsyncModerationCallbackConfig
- type AsyncModerationConfiguration
- type Attachment
- type AudioSettings
- type AudioSettingsRequest
- type AudioSettingsResponse
- type AutomodDetailsResponse
- type AutomodPlatformCircumventionConfig
- type AutomodRule
- type AutomodSemanticFiltersConfig
- type AutomodSemanticFiltersRule
- type AutomodToxicityConfig
- type AzureRequest
- type BackstageSettings
- type BackstageSettingsRequest
- type BackstageSettingsResponse
- type BanActionRequestPayload
- type BanInfoResponse
- type BanOptions
- type BanRequest
- type BanResponse
- type BlockActionRequestPayload
- type BlockListConfig
- type BlockListOptions
- type BlockListResponse
- type BlockListRule
- type BlockUserRequest
- type BlockUserResponse
- type BlockUsersRequest
- type BlockUsersResponse
- type BlockedUserEvent
- type BlockedUserResponse
- type BodyguardImageAnalysisConfig
- type BodyguardRule
- type BodyguardSeverityRule
- type BookmarkAddedEvent
- type BookmarkDeletedEvent
- type BookmarkFolderDeletedEvent
- type BookmarkFolderResponse
- type BookmarkFolderUpdatedEvent
- type BookmarkResponse
- type BookmarkUpdatedEvent
- type Bound
- type BroadcastSettings
- type BroadcastSettingsRequest
- type BroadcastSettingsResponse
- type BrowserDataResponse
- type BulkImageModerationRequest
- type BulkImageModerationResponse
- type Call
- func (c *Call) BlockUser(ctx context.Context, request *BlockUserRequest) (*StreamResponse[BlockUserResponse], error)
- func (c *Call) CollectUserFeedback(ctx context.Context, request *CollectUserFeedbackRequest) (*StreamResponse[CollectUserFeedbackResponse], error)
- func (c *Call) CreateSRTCredentials(userID string) (*SRTCredentials, error)
- func (c *Call) Delete(ctx context.Context, request *DeleteCallRequest) (*StreamResponse[DeleteCallResponse], error)
- func (c *Call) DeleteRecording(ctx context.Context, session string, filename string, ...) (*StreamResponse[DeleteRecordingResponse], error)
- func (c *Call) DeleteTranscription(ctx context.Context, session string, filename string, ...) (*StreamResponse[DeleteTranscriptionResponse], error)
- func (c *Call) End(ctx context.Context, request *EndCallRequest) (*StreamResponse[EndCallResponse], error)
- func (c *Call) Get(ctx context.Context, request *GetCallRequest) (*StreamResponse[GetCallResponse], error)
- func (c *Call) GetCallParticipantSessionMetrics(ctx context.Context, session string, user string, userSession string, ...) (*StreamResponse[GetCallParticipantSessionMetricsResponse], error)
- func (c *Call) GetCallReport(ctx context.Context, request *GetCallReportRequest) (*StreamResponse[GetCallReportResponse], error)
- func (c *Call) GetOrCreate(ctx context.Context, request *GetOrCreateCallRequest) (*StreamResponse[GetOrCreateCallResponse], error)
- func (c *Call) GoLive(ctx context.Context, request *GoLiveRequest) (*StreamResponse[GoLiveResponse], error)
- func (c *Call) KickUser(ctx context.Context, request *KickUserRequest) (*StreamResponse[KickUserResponse], error)
- func (c *Call) ListRecordings(ctx context.Context, request *ListRecordingsRequest) (*StreamResponse[ListRecordingsResponse], error)
- func (c *Call) ListTranscriptions(ctx context.Context, request *ListTranscriptionsRequest) (*StreamResponse[ListTranscriptionsResponse], error)
- func (c *Call) MuteUsers(ctx context.Context, request *MuteUsersRequest) (*StreamResponse[MuteUsersResponse], error)
- func (c *Call) QueryCallParticipantSessions(ctx context.Context, session string, ...) (*StreamResponse[QueryCallParticipantSessionsResponse], error)
- func (c *Call) QueryCallParticipants(ctx context.Context, request *QueryCallParticipantsRequest) (*StreamResponse[QueryCallParticipantsResponse], error)
- func (c *Call) Ring(ctx context.Context, request *RingCallRequest) (*StreamResponse[RingCallResponse], error)
- func (c *Call) SendCallEvent(ctx context.Context, request *SendCallEventRequest) (*StreamResponse[SendCallEventResponse], error)
- func (c *Call) SendClosedCaption(ctx context.Context, request *SendClosedCaptionRequest) (*StreamResponse[SendClosedCaptionResponse], error)
- func (c *Call) StartClosedCaptions(ctx context.Context, request *StartClosedCaptionsRequest) (*StreamResponse[StartClosedCaptionsResponse], error)
- func (c *Call) StartFrameRecording(ctx context.Context, request *StartFrameRecordingRequest) (*StreamResponse[StartFrameRecordingResponse], error)
- func (c *Call) StartHLSBroadcasting(ctx context.Context, request *StartHLSBroadcastingRequest) (*StreamResponse[StartHLSBroadcastingResponse], error)
- func (c *Call) StartRTMPBroadcasts(ctx context.Context, request *StartRTMPBroadcastsRequest) (*StreamResponse[StartRTMPBroadcastsResponse], error)
- func (c *Call) StartRecording(ctx context.Context, recordingType string, request *StartRecordingRequest) (*StreamResponse[StartRecordingResponse], error)
- func (c *Call) StartTranscription(ctx context.Context, request *StartTranscriptionRequest) (*StreamResponse[StartTranscriptionResponse], error)
- func (c *Call) StopAllRTMPBroadcasts(ctx context.Context, request *StopAllRTMPBroadcastsRequest) (*StreamResponse[StopAllRTMPBroadcastsResponse], error)
- func (c *Call) StopClosedCaptions(ctx context.Context, request *StopClosedCaptionsRequest) (*StreamResponse[StopClosedCaptionsResponse], error)
- func (c *Call) StopFrameRecording(ctx context.Context, request *StopFrameRecordingRequest) (*StreamResponse[StopFrameRecordingResponse], error)
- func (c *Call) StopHLSBroadcasting(ctx context.Context, request *StopHLSBroadcastingRequest) (*StreamResponse[StopHLSBroadcastingResponse], error)
- func (c *Call) StopLive(ctx context.Context, request *StopLiveRequest) (*StreamResponse[StopLiveResponse], error)
- func (c *Call) StopRTMPBroadcast(ctx context.Context, name string, request *StopRTMPBroadcastRequest) (*StreamResponse[StopRTMPBroadcastsResponse], error)
- func (c *Call) StopRecording(ctx context.Context, recordingType string, request *StopRecordingRequest) (*StreamResponse[StopRecordingResponse], error)
- func (c *Call) StopTranscription(ctx context.Context, request *StopTranscriptionRequest) (*StreamResponse[StopTranscriptionResponse], error)
- func (c *Call) UnblockUser(ctx context.Context, request *UnblockUserRequest) (*StreamResponse[UnblockUserResponse], error)
- func (c *Call) Update(ctx context.Context, request *UpdateCallRequest) (*StreamResponse[UpdateCallResponse], error)
- func (c *Call) UpdateCallMembers(ctx context.Context, request *UpdateCallMembersRequest) (*StreamResponse[UpdateCallMembersResponse], error)
- func (c *Call) UpdateUserPermissions(ctx context.Context, request *UpdateUserPermissionsRequest) (*StreamResponse[UpdateUserPermissionsResponse], error)
- func (c *Call) VideoPin(ctx context.Context, request *VideoPinRequest) (*StreamResponse[PinResponse], error)
- func (c *Call) VideoUnpin(ctx context.Context, request *VideoUnpinRequest) (*StreamResponse[UnpinResponse], error)
- type CallAcceptedEvent
- type CallActionOptions
- type CallClosedCaption
- type CallClosedCaptionsFailedEvent
- type CallClosedCaptionsStartedEvent
- type CallClosedCaptionsStoppedEvent
- type CallCreatedEvent
- type CallCustomPropertyParameters
- type CallDTMFEvent
- type CallDeletedEvent
- type CallDurationReport
- type CallDurationReportResponse
- type CallEndedEvent
- type CallFrameRecordingFailedEvent
- type CallFrameRecordingFrameReadyEvent
- type CallFrameRecordingStartedEvent
- type CallFrameRecordingStoppedEvent
- type CallHLSBroadcastingFailedEvent
- type CallHLSBroadcastingStartedEvent
- type CallHLSBroadcastingStoppedEvent
- type CallIngressResponse
- type CallLiveStartedEvent
- type CallMemberAddedEvent
- type CallMemberRemovedEvent
- type CallMemberUpdatedEvent
- type CallMemberUpdatedPermissionEvent
- type CallMissedEvent
- type CallModerationBlurEvent
- type CallModerationWarningEvent
- type CallNotificationEvent
- type CallParticipantCountReport
- type CallParticipantCountReportResponse
- type CallParticipantResponse
- type CallParticipantTimeline
- type CallReactionEvent
- type CallRecording
- type CallRecordingFailedEvent
- type CallRecordingReadyEvent
- type CallRecordingStartedEvent
- type CallRecordingStoppedEvent
- type CallRejectedEvent
- type CallReportResponse
- type CallRequest
- type CallResponse
- type CallRingEvent
- type CallRtmpBroadcastFailedEvent
- type CallRtmpBroadcastStartedEvent
- type CallRtmpBroadcastStoppedEvent
- type CallRuleActionSequence
- type CallSessionEndedEvent
- type CallSessionParticipantCountsUpdatedEvent
- type CallSessionParticipantJoinedEvent
- type CallSessionParticipantLeftEvent
- type CallSessionResponse
- type CallSessionStartedEvent
- type CallSettings
- type CallSettingsRequest
- type CallSettingsResponse
- type CallStateResponseFields
- type CallStatsLocation
- type CallStatsMapLocation
- type CallStatsMapPublisher
- type CallStatsMapPublishers
- type CallStatsMapSFUs
- type CallStatsMapSubscriber
- type CallStatsMapSubscribers
- type CallStatsParticipant
- type CallStatsParticipantCounts
- type CallStatsParticipantSession
- type CallStatsReportReadyEvent
- type CallStatsReportSummaryResponse
- type CallTranscription
- type CallTranscriptionFailedEvent
- type CallTranscriptionReadyEvent
- type CallTranscriptionStartedEvent
- type CallTranscriptionStoppedEvent
- type CallType
- type CallTypeResponse
- type CallTypeRuleParameters
- type CallUpdatedEvent
- type CallUserFeedbackSubmittedEvent
- type CallUserMutedEvent
- type CallViolationCountParameters
- type CallsPerDayReport
- type CallsPerDayReportResponse
- type CampaignChannelMember
- type CampaignChannelTemplate
- type CampaignCompletedEvent
- type CampaignMessageTemplate
- type CampaignResponse
- type CampaignStartedEvent
- type CampaignStatsResponse
- type CastPollVoteRequest
- type ChannelBatchCompletedEvent
- type ChannelBatchStartedEvent
- type ChannelConfig
- type ChannelConfigWithInfo
- type ChannelCreatedEvent
- type ChannelDeletedEvent
- type ChannelExport
- type ChannelFrozenEvent
- type ChannelGetOrCreateRequest
- type ChannelHiddenEvent
- type ChannelInput
- type ChannelInputRequest
- type ChannelMemberRequest
- type ChannelMemberResponse
- type ChannelMessagesResponse
- type ChannelMute
- type ChannelMutedEvent
- type ChannelOwnCapability
- type ChannelPushPreferencesResponse
- type ChannelResponse
- type ChannelStateResponse
- type ChannelStateResponseFields
- type ChannelTruncatedEvent
- type ChannelTypeConfig
- type ChannelUnFrozenEvent
- type ChannelUnmutedEvent
- type ChannelUpdatedEvent
- type ChannelVisibleEvent
- type Channels
- func (c *Channels) Delete(ctx context.Context, request *DeleteChannelRequest) (*StreamResponse[DeleteChannelResponse], error)
- func (c *Channels) DeleteChannelFile(ctx context.Context, request *DeleteChannelFileRequest) (*StreamResponse[Response], error)
- func (c *Channels) DeleteChannelImage(ctx context.Context, request *DeleteChannelImageRequest) (*StreamResponse[Response], error)
- func (c *Channels) DeleteDraft(ctx context.Context, request *DeleteDraftRequest) (*StreamResponse[Response], error)
- func (c *Channels) GetDraft(ctx context.Context, request *GetDraftRequest) (*StreamResponse[GetDraftResponse], error)
- func (c *Channels) GetManyMessages(ctx context.Context, request *GetManyMessagesRequest) (*StreamResponse[GetManyMessagesResponse], error)
- func (c *Channels) GetOrCreate(ctx context.Context, request *GetOrCreateChannelRequest) (*StreamResponse[ChannelStateResponse], error)
- func (c *Channels) Hide(ctx context.Context, request *HideChannelRequest) (*StreamResponse[HideChannelResponse], error)
- func (c *Channels) MarkRead(ctx context.Context, request *MarkReadRequest) (*StreamResponse[MarkReadResponse], error)
- func (c *Channels) MarkUnread(ctx context.Context, request *MarkUnreadRequest) (*StreamResponse[Response], error)
- func (c *Channels) SendEvent(ctx context.Context, request *SendEventRequest) (*StreamResponse[EventResponse], error)
- func (c *Channels) SendMessage(ctx context.Context, request *SendMessageRequest) (*StreamResponse[SendMessageResponse], error)
- func (c *Channels) Show(ctx context.Context, request *ShowChannelRequest) (*StreamResponse[ShowChannelResponse], error)
- func (c *Channels) Truncate(ctx context.Context, request *TruncateChannelRequest) (*StreamResponse[TruncateChannelResponse], error)
- func (c *Channels) Update(ctx context.Context, request *UpdateChannelRequest) (*StreamResponse[UpdateChannelResponse], error)
- func (c *Channels) UpdateChannelPartial(ctx context.Context, request *UpdateChannelPartialRequest) (*StreamResponse[UpdateChannelPartialResponse], error)
- func (c *Channels) UpdateMemberPartial(ctx context.Context, request *UpdateMemberPartialRequest) (*StreamResponse[UpdateMemberPartialResponse], error)
- func (c *Channels) UploadChannelFile(ctx context.Context, request *UploadChannelFileRequest) (*StreamResponse[UploadChannelFileResponse], error)
- func (c *Channels) UploadChannelImage(ctx context.Context, request *UploadChannelImageRequest) (*StreamResponse[UploadChannelResponse], error)
- type ChatActivityStatsResponse
- type ChatClient
- func (c *ChatClient) CastPollVote(ctx context.Context, messageID string, pollID string, ...) (*StreamResponse[PollVoteResponse], error)
- func (c *ChatClient) Channel(channelType, channelD string) *Channels
- func (c *ChatClient) CommitMessage(ctx context.Context, id string, request *CommitMessageRequest) (*StreamResponse[MessageActionResponse], error)
- func (c *ChatClient) CreateChannelType(ctx context.Context, request *CreateChannelTypeRequest) (*StreamResponse[CreateChannelTypeResponse], error)
- func (c *ChatClient) CreateCommand(ctx context.Context, request *CreateCommandRequest) (*StreamResponse[CreateCommandResponse], error)
- func (c *ChatClient) CreateReminder(ctx context.Context, messageID string, request *CreateReminderRequest) (*StreamResponse[ReminderResponseData], error)
- func (c *ChatClient) DeleteChannel(ctx context.Context, _type string, id string, request *DeleteChannelRequest) (*StreamResponse[DeleteChannelResponse], error)
- func (c *ChatClient) DeleteChannelFile(ctx context.Context, _type string, id string, ...) (*StreamResponse[Response], error)
- func (c *ChatClient) DeleteChannelImage(ctx context.Context, _type string, id string, ...) (*StreamResponse[Response], error)
- func (c *ChatClient) DeleteChannelType(ctx context.Context, name string, request *DeleteChannelTypeRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) DeleteChannels(ctx context.Context, request *DeleteChannelsRequest) (*StreamResponse[DeleteChannelsResponse], error)
- func (c *ChatClient) DeleteCommand(ctx context.Context, name string, request *DeleteCommandRequest) (*StreamResponse[DeleteCommandResponse], error)
- func (c *ChatClient) DeleteDraft(ctx context.Context, _type string, id string, request *DeleteDraftRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) DeleteMessage(ctx context.Context, id string, request *DeleteMessageRequest) (*StreamResponse[DeleteMessageResponse], error)
- func (c *ChatClient) DeletePollVote(ctx context.Context, messageID string, pollID string, voteID string, ...) (*StreamResponse[PollVoteResponse], error)
- func (c *ChatClient) DeleteReaction(ctx context.Context, id string, _type string, request *DeleteReactionRequest) (*StreamResponse[DeleteReactionResponse], error)
- func (c *ChatClient) DeleteReminder(ctx context.Context, messageID string, request *DeleteReminderRequest) (*StreamResponse[DeleteReminderResponse], error)
- func (c *ChatClient) DeleteSegment(ctx context.Context, id string, request *DeleteSegmentRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) DeleteSegmentTargets(ctx context.Context, id string, request *DeleteSegmentTargetsRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) EphemeralMessageUpdate(ctx context.Context, id string, request *EphemeralMessageUpdateRequest) (*StreamResponse[UpdateMessagePartialResponse], error)
- func (c *ChatClient) ExportChannels(ctx context.Context, request *ExportChannelsRequest) (*StreamResponse[ExportChannelsResponse], error)
- func (c *ChatClient) GetCampaign(ctx context.Context, id string, request *GetCampaignRequest) (*StreamResponse[GetCampaignResponse], error)
- func (c *ChatClient) GetChannelType(ctx context.Context, name string, request *GetChannelTypeRequest) (*StreamResponse[GetChannelTypeResponse], error)
- func (c *ChatClient) GetCommand(ctx context.Context, name string, request *GetCommandRequest) (*StreamResponse[GetCommandResponse], error)
- func (c *ChatClient) GetDraft(ctx context.Context, _type string, id string, request *GetDraftRequest) (*StreamResponse[GetDraftResponse], error)
- func (c *ChatClient) GetManyMessages(ctx context.Context, _type string, id string, request *GetManyMessagesRequest) (*StreamResponse[GetManyMessagesResponse], error)
- func (c *ChatClient) GetMessage(ctx context.Context, id string, request *GetMessageRequest) (*StreamResponse[GetMessageResponse], error)
- func (c *ChatClient) GetOrCreateChannel(ctx context.Context, _type string, id string, ...) (*StreamResponse[ChannelStateResponse], error)
- func (c *ChatClient) GetOrCreateDistinctChannel(ctx context.Context, _type string, request *GetOrCreateDistinctChannelRequest) (*StreamResponse[ChannelStateResponse], error)
- func (c *ChatClient) GetReactions(ctx context.Context, id string, request *GetReactionsRequest) (*StreamResponse[GetReactionsResponse], error)
- func (c *ChatClient) GetReplies(ctx context.Context, parentID string, request *GetRepliesRequest) (*StreamResponse[GetRepliesResponse], error)
- func (c *ChatClient) GetSegment(ctx context.Context, id string, request *GetSegmentRequest) (*StreamResponse[GetSegmentResponse], error)
- func (c *ChatClient) GetThread(ctx context.Context, messageID string, request *GetThreadRequest) (*StreamResponse[GetThreadResponse], error)
- func (c *ChatClient) HideChannel(ctx context.Context, _type string, id string, request *HideChannelRequest) (*StreamResponse[HideChannelResponse], error)
- func (c *ChatClient) ListChannelTypes(ctx context.Context, request *ListChannelTypesRequest) (*StreamResponse[ListChannelTypesResponse], error)
- func (c *ChatClient) ListCommands(ctx context.Context, request *ListCommandsRequest) (*StreamResponse[ListCommandsResponse], error)
- func (c *ChatClient) MarkChannelsRead(ctx context.Context, request *MarkChannelsReadRequest) (*StreamResponse[MarkReadResponse], error)
- func (c *ChatClient) MarkDelivered(ctx context.Context, request *MarkDeliveredRequest) (*StreamResponse[MarkDeliveredResponse], error)
- func (c *ChatClient) MarkRead(ctx context.Context, _type string, id string, request *MarkReadRequest) (*StreamResponse[MarkReadResponse], error)
- func (c *ChatClient) MarkUnread(ctx context.Context, _type string, id string, request *MarkUnreadRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) MuteChannel(ctx context.Context, request *MuteChannelRequest) (*StreamResponse[MuteChannelResponse], error)
- func (c *ChatClient) QueryBannedUsers(ctx context.Context, request *QueryBannedUsersRequest) (*StreamResponse[QueryBannedUsersResponse], error)
- func (c *ChatClient) QueryCampaigns(ctx context.Context, request *QueryCampaignsRequest) (*StreamResponse[QueryCampaignsResponse], error)
- func (c *ChatClient) QueryChannels(ctx context.Context, request *QueryChannelsRequest) (*StreamResponse[QueryChannelsResponse], error)
- func (c *ChatClient) QueryDrafts(ctx context.Context, request *QueryDraftsRequest) (*StreamResponse[QueryDraftsResponse], error)
- func (c *ChatClient) QueryFutureChannelBans(ctx context.Context, request *QueryFutureChannelBansRequest) (*StreamResponse[QueryFutureChannelBansResponse], error)
- func (c *ChatClient) QueryMembers(ctx context.Context, request *QueryMembersRequest) (*StreamResponse[MembersResponse], error)
- func (c *ChatClient) QueryMessageFlags(ctx context.Context, request *QueryMessageFlagsRequest) (*StreamResponse[QueryMessageFlagsResponse], error)
- func (c *ChatClient) QueryMessageHistory(ctx context.Context, request *QueryMessageHistoryRequest) (*StreamResponse[QueryMessageHistoryResponse], error)
- func (c *ChatClient) QueryReactions(ctx context.Context, id string, request *QueryReactionsRequest) (*StreamResponse[QueryReactionsResponse], error)
- func (c *ChatClient) QueryReminders(ctx context.Context, request *QueryRemindersRequest) (*StreamResponse[QueryRemindersResponse], error)
- func (c *ChatClient) QuerySegmentTargets(ctx context.Context, id string, request *QuerySegmentTargetsRequest) (*StreamResponse[QuerySegmentTargetsResponse], error)
- func (c *ChatClient) QuerySegments(ctx context.Context, request *QuerySegmentsRequest) (*StreamResponse[QuerySegmentsResponse], error)
- func (c *ChatClient) QueryTeamUsageStats(ctx context.Context, request *QueryTeamUsageStatsRequest) (*StreamResponse[QueryTeamUsageStatsResponse], error)
- func (c *ChatClient) QueryThreads(ctx context.Context, request *QueryThreadsRequest) (*StreamResponse[QueryThreadsResponse], error)
- func (c *ChatClient) RunMessageAction(ctx context.Context, id string, request *RunMessageActionRequest) (*StreamResponse[MessageActionResponse], error)
- func (c *ChatClient) Search(ctx context.Context, request *SearchRequest) (*StreamResponse[SearchResponse], error)
- func (c *ChatClient) SegmentTargetExists(ctx context.Context, id string, targetID string, ...) (*StreamResponse[Response], error)
- func (c *ChatClient) SendEvent(ctx context.Context, _type string, id string, request *SendEventRequest) (*StreamResponse[EventResponse], error)
- func (c *ChatClient) SendMessage(ctx context.Context, _type string, id string, request *SendMessageRequest) (*StreamResponse[SendMessageResponse], error)
- func (c *ChatClient) SendReaction(ctx context.Context, id string, request *SendReactionRequest) (*StreamResponse[SendReactionResponse], error)
- func (c *ChatClient) SendUserCustomEvent(ctx context.Context, userID string, request *SendUserCustomEventRequest) (*StreamResponse[Response], error)
- func (c *ChatClient) ShowChannel(ctx context.Context, _type string, id string, request *ShowChannelRequest) (*StreamResponse[ShowChannelResponse], error)
- func (c *ChatClient) StartCampaign(ctx context.Context, id string, request *StartCampaignRequest) (*StreamResponse[StartCampaignResponse], error)
- func (c *ChatClient) StopCampaign(ctx context.Context, id string, request *StopCampaignRequest) (*StreamResponse[CampaignResponse], error)
- func (c *ChatClient) TranslateMessage(ctx context.Context, id string, request *TranslateMessageRequest) (*StreamResponse[MessageActionResponse], error)
- func (c *ChatClient) TruncateChannel(ctx context.Context, _type string, id string, request *TruncateChannelRequest) (*StreamResponse[TruncateChannelResponse], error)
- func (c *ChatClient) UndeleteMessage(ctx context.Context, id string, request *UndeleteMessageRequest) (*StreamResponse[UndeleteMessageResponse], error)
- func (c *ChatClient) UnmuteChannel(ctx context.Context, request *UnmuteChannelRequest) (*StreamResponse[UnmuteResponse], error)
- func (c *ChatClient) UnreadCounts(ctx context.Context, request *UnreadCountsRequest) (*StreamResponse[WrappedUnreadCountsResponse], error)
- func (c *ChatClient) UnreadCountsBatch(ctx context.Context, request *UnreadCountsBatchRequest) (*StreamResponse[UnreadCountsBatchResponse], error)
- func (c *ChatClient) UpdateChannel(ctx context.Context, _type string, id string, request *UpdateChannelRequest) (*StreamResponse[UpdateChannelResponse], error)
- func (c *ChatClient) UpdateChannelPartial(ctx context.Context, _type string, id string, ...) (*StreamResponse[UpdateChannelPartialResponse], error)
- func (c *ChatClient) UpdateChannelType(ctx context.Context, name string, request *UpdateChannelTypeRequest) (*StreamResponse[UpdateChannelTypeResponse], error)
- func (c *ChatClient) UpdateCommand(ctx context.Context, name string, request *UpdateCommandRequest) (*StreamResponse[UpdateCommandResponse], error)
- func (c *ChatClient) UpdateMemberPartial(ctx context.Context, _type string, id string, ...) (*StreamResponse[UpdateMemberPartialResponse], error)
- func (c *ChatClient) UpdateMessage(ctx context.Context, id string, request *UpdateMessageRequest) (*StreamResponse[UpdateMessageResponse], error)
- func (c *ChatClient) UpdateMessagePartial(ctx context.Context, id string, request *UpdateMessagePartialRequest) (*StreamResponse[UpdateMessagePartialResponse], error)
- func (c *ChatClient) UpdateReminder(ctx context.Context, messageID string, request *UpdateReminderRequest) (*StreamResponse[UpdateReminderResponse], error)
- func (c *ChatClient) UpdateThreadPartial(ctx context.Context, messageID string, request *UpdateThreadPartialRequest) (*StreamResponse[UpdateThreadPartialResponse], error)
- func (c *ChatClient) UploadChannelFile(ctx context.Context, _type string, id string, ...) (*StreamResponse[UploadChannelFileResponse], error)
- func (c *ChatClient) UploadChannelImage(ctx context.Context, _type string, id string, ...) (*StreamResponse[UploadChannelResponse], error)
- type CheckExternalStorageRequest
- type CheckExternalStorageResponse
- type CheckPushRequest
- type CheckPushResponse
- type CheckRequest
- type CheckResponse
- type CheckSNSRequest
- type CheckSNSResponse
- type CheckSQSRequest
- type CheckSQSResponse
- type Claims
- type Client
- func (c *Client) AddUserGroupMembers(ctx context.Context, id string, request *AddUserGroupMembersRequest) (*StreamResponse[AddUserGroupMembersResponse], error)
- func (c *Client) ApiKey() string
- func (c *Client) BaseUrl() string
- func (c *Client) BlockUsers(ctx context.Context, request *BlockUsersRequest) (*StreamResponse[BlockUsersResponse], error)
- func (c *Client) CheckExternalStorage(ctx context.Context, name string, request *CheckExternalStorageRequest) (*StreamResponse[CheckExternalStorageResponse], error)
- func (c *Client) CheckPush(ctx context.Context, request *CheckPushRequest) (*StreamResponse[CheckPushResponse], error)
- func (c *Client) CheckSNS(ctx context.Context, request *CheckSNSRequest) (*StreamResponse[CheckSNSResponse], error)
- func (c *Client) CheckSQS(ctx context.Context, request *CheckSQSRequest) (*StreamResponse[CheckSQSResponse], error)
- func (c *Client) CreateBlockList(ctx context.Context, request *CreateBlockListRequest) (*StreamResponse[CreateBlockListResponse], error)
- func (c *Client) CreateDevice(ctx context.Context, request *CreateDeviceRequest) (*StreamResponse[Response], error)
- func (c *Client) CreateExternalStorage(ctx context.Context, request *CreateExternalStorageRequest) (*StreamResponse[CreateExternalStorageResponse], error)
- func (c *Client) CreateGuest(ctx context.Context, request *CreateGuestRequest) (*StreamResponse[CreateGuestResponse], error)
- func (c *Client) CreateImport(ctx context.Context, request *CreateImportRequest) (*StreamResponse[CreateImportResponse], error)
- func (c *Client) CreateImportURL(ctx context.Context, request *CreateImportURLRequest) (*StreamResponse[CreateImportURLResponse], error)
- func (c *Client) CreateImportV2Task(ctx context.Context, request *CreateImportV2TaskRequest) (*StreamResponse[CreateImportV2TaskResponse], error)
- func (c *Client) CreatePoll(ctx context.Context, request *CreatePollRequest) (*StreamResponse[PollResponse], error)
- func (c *Client) CreatePollOption(ctx context.Context, pollID string, request *CreatePollOptionRequest) (*StreamResponse[PollOptionResponse], error)
- func (c *Client) CreateRole(ctx context.Context, request *CreateRoleRequest) (*StreamResponse[CreateRoleResponse], error)
- func (c *Client) CreateUserGroup(ctx context.Context, request *CreateUserGroupRequest) (*StreamResponse[CreateUserGroupResponse], error)
- func (c *Client) DeactivateUser(ctx context.Context, userID string, request *DeactivateUserRequest) (*StreamResponse[DeactivateUserResponse], error)
- func (c *Client) DeactivateUsers(ctx context.Context, request *DeactivateUsersRequest) (*StreamResponse[DeactivateUsersResponse], error)
- func (c *Client) DefaultTimeout() time.Duration
- func (c *Client) DeleteBlockList(ctx context.Context, name string, request *DeleteBlockListRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteDevice(ctx context.Context, request *DeleteDeviceRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteExternalStorage(ctx context.Context, name string, request *DeleteExternalStorageRequest) (*StreamResponse[DeleteExternalStorageResponse], error)
- func (c *Client) DeleteFile(ctx context.Context, request *DeleteFileRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteImage(ctx context.Context, request *DeleteImageRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteImportV2Task(ctx context.Context, id string, request *DeleteImportV2TaskRequest) (*StreamResponse[DeleteImportV2TaskResponse], error)
- func (c *Client) DeletePoll(ctx context.Context, pollID string, request *DeletePollRequest) (*StreamResponse[Response], error)
- func (c *Client) DeletePollOption(ctx context.Context, pollID string, optionID string, ...) (*StreamResponse[Response], error)
- func (c *Client) DeletePushProvider(ctx context.Context, _type string, name string, ...) (*StreamResponse[Response], error)
- func (c *Client) DeleteRole(ctx context.Context, name string, request *DeleteRoleRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteUserGroup(ctx context.Context, id string, request *DeleteUserGroupRequest) (*StreamResponse[Response], error)
- func (c *Client) DeleteUsers(ctx context.Context, request *DeleteUsersRequest) (*StreamResponse[DeleteUsersResponse], error)
- func (c *Client) ExportUser(ctx context.Context, userID string, request *ExportUserRequest) (*StreamResponse[ExportUserResponse], error)
- func (c *Client) ExportUsers(ctx context.Context, request *ExportUsersRequest) (*StreamResponse[ExportUsersResponse], error)
- func (c *Client) GetApp(ctx context.Context, request *GetAppRequest) (*StreamResponse[GetApplicationResponse], error)
- func (c *Client) GetBlockList(ctx context.Context, name string, request *GetBlockListRequest) (*StreamResponse[GetBlockListResponse], error)
- func (c *Client) GetBlockedUsers(ctx context.Context, request *GetBlockedUsersRequest) (*StreamResponse[GetBlockedUsersResponse], error)
- func (c *Client) GetImport(ctx context.Context, id string, request *GetImportRequest) (*StreamResponse[GetImportResponse], error)
- func (c *Client) GetImportV2Task(ctx context.Context, id string, request *GetImportV2TaskRequest) (*StreamResponse[GetImportV2TaskResponse], error)
- func (c *Client) GetOG(ctx context.Context, request *GetOGRequest) (*StreamResponse[GetOGResponse], error)
- func (c *Client) GetPermission(ctx context.Context, id string, request *GetPermissionRequest) (*StreamResponse[GetCustomPermissionResponse], error)
- func (c *Client) GetPoll(ctx context.Context, pollID string, request *GetPollRequest) (*StreamResponse[PollResponse], error)
- func (c *Client) GetPollOption(ctx context.Context, pollID string, optionID string, ...) (*StreamResponse[PollOptionResponse], error)
- func (c *Client) GetPushTemplates(ctx context.Context, request *GetPushTemplatesRequest) (*StreamResponse[GetPushTemplatesResponse], error)
- func (c *Client) GetRateLimits(ctx context.Context, request *GetRateLimitsRequest) (*StreamResponse[GetRateLimitsResponse], error)
- func (c *Client) GetTask(ctx context.Context, id string, request *GetTaskRequest) (*StreamResponse[GetTaskResponse], error)
- func (c *Client) GetUserGroup(ctx context.Context, id string, request *GetUserGroupRequest) (*StreamResponse[GetUserGroupResponse], error)
- func (c *Client) GetUserLiveLocations(ctx context.Context, request *GetUserLiveLocationsRequest) (*StreamResponse[SharedLocationsResponse], error)
- func (c *Client) HttpClient() HttpClient
- func (c *Client) ListBlockLists(ctx context.Context, request *ListBlockListsRequest) (*StreamResponse[ListBlockListResponse], error)
- func (c *Client) ListDevices(ctx context.Context, request *ListDevicesRequest) (*StreamResponse[ListDevicesResponse], error)
- func (c *Client) ListExternalStorage(ctx context.Context, request *ListExternalStorageRequest) (*StreamResponse[ListExternalStorageResponse], error)
- func (c *Client) ListImportV2Tasks(ctx context.Context, request *ListImportV2TasksRequest) (*StreamResponse[ListImportV2TasksResponse], error)
- func (c *Client) ListImports(ctx context.Context, request *ListImportsRequest) (*StreamResponse[ListImportsResponse], error)
- func (c *Client) ListPermissions(ctx context.Context, request *ListPermissionsRequest) (*StreamResponse[ListPermissionsResponse], error)
- func (c *Client) ListPushProviders(ctx context.Context, request *ListPushProvidersRequest) (*StreamResponse[ListPushProvidersResponse], error)
- func (c *Client) ListRoles(ctx context.Context, request *ListRolesRequest) (*StreamResponse[ListRolesResponse], error)
- func (c *Client) ListUserGroups(ctx context.Context, request *ListUserGroupsRequest) (*StreamResponse[ListUserGroupsResponse], error)
- func (c *Client) Logger() Logger
- func (c *Client) QueryPollVotes(ctx context.Context, pollID string, request *QueryPollVotesRequest) (*StreamResponse[PollVotesResponse], error)
- func (c *Client) QueryPolls(ctx context.Context, request *QueryPollsRequest) (*StreamResponse[QueryPollsResponse], error)
- func (c *Client) QueryUsers(ctx context.Context, request *QueryUsersRequest) (*StreamResponse[QueryUsersResponse], error)
- func (c *Client) ReactivateUser(ctx context.Context, userID string, request *ReactivateUserRequest) (*StreamResponse[ReactivateUserResponse], error)
- func (c *Client) ReactivateUsers(ctx context.Context, request *ReactivateUsersRequest) (*StreamResponse[ReactivateUsersResponse], error)
- func (c *Client) RemoveUserGroupMembers(ctx context.Context, id string, request *RemoveUserGroupMembersRequest) (*StreamResponse[RemoveUserGroupMembersResponse], error)
- func (c *Client) RestoreUsers(ctx context.Context, request *RestoreUsersRequest) (*StreamResponse[Response], error)
- func (c *Client) SearchUserGroups(ctx context.Context, request *SearchUserGroupsRequest) (*StreamResponse[SearchUserGroupsResponse], error)
- func (c *Client) UnblockUsers(ctx context.Context, request *UnblockUsersRequest) (*StreamResponse[UnblockUsersResponse], error)
- func (c *Client) UpdateApp(ctx context.Context, request *UpdateAppRequest) (*StreamResponse[Response], error)
- func (c *Client) UpdateBlockList(ctx context.Context, name string, request *UpdateBlockListRequest) (*StreamResponse[UpdateBlockListResponse], error)
- func (c *Client) UpdateExternalStorage(ctx context.Context, name string, request *UpdateExternalStorageRequest) (*StreamResponse[UpdateExternalStorageResponse], error)
- func (c *Client) UpdateLiveLocation(ctx context.Context, request *UpdateLiveLocationRequest) (*StreamResponse[SharedLocationResponse], error)
- func (c *Client) UpdatePoll(ctx context.Context, request *UpdatePollRequest) (*StreamResponse[PollResponse], error)
- func (c *Client) UpdatePollOption(ctx context.Context, pollID string, request *UpdatePollOptionRequest) (*StreamResponse[PollOptionResponse], error)
- func (c *Client) UpdatePollPartial(ctx context.Context, pollID string, request *UpdatePollPartialRequest) (*StreamResponse[PollResponse], error)
- func (c *Client) UpdatePushNotificationPreferences(ctx context.Context, request *UpdatePushNotificationPreferencesRequest) (*StreamResponse[UpsertPushPreferencesResponse], error)
- func (c *Client) UpdateUserGroup(ctx context.Context, id string, request *UpdateUserGroupRequest) (*StreamResponse[UpdateUserGroupResponse], error)
- func (c *Client) UpdateUsers(ctx context.Context, request *UpdateUsersRequest) (*StreamResponse[UpdateUsersResponse], error)
- func (c *Client) UpdateUsersPartial(ctx context.Context, request *UpdateUsersPartialRequest) (*StreamResponse[UpdateUsersResponse], error)
- func (c *Client) UploadFile(ctx context.Context, request *UploadFileRequest) (*StreamResponse[FileUploadResponse], error)
- func (c *Client) UploadImage(ctx context.Context, request *UploadImageRequest) (*StreamResponse[ImageUploadResponse], error)
- func (c *Client) UpsertPushProvider(ctx context.Context, request *UpsertPushProviderRequest) (*StreamResponse[UpsertPushProviderResponse], error)
- func (c *Client) UpsertPushTemplate(ctx context.Context, request *UpsertPushTemplateRequest) (*StreamResponse[UpsertPushTemplateResponse], error)
- func (c *Client) VerifyWebhook(body, signature []byte) (valid bool)
- type ClientOSDataResponse
- type ClientOption
- type ClosedCaptionEvent
- type ClosedCaptionRuleParameters
- type CollectUserFeedbackRequest
- type CollectUserFeedbackResponse
- type CollectionRequest
- type CollectionResponse
- type Command
- type CommentAddedEvent
- type CommentDeletedEvent
- type CommentReactionAddedEvent
- type CommentReactionDeletedEvent
- type CommentReactionUpdatedEvent
- type CommentResponse
- type CommentUpdatedEvent
- type CommitMessageRequest
- type CompositeRecordingResponse
- type ConfigOverridesRequest
- type ConfigResponse
- type ContentCountRuleParameters
- type CoordinatesResponse
- type CountByMinuteResponse
- type CreateBlockListRequest
- type CreateBlockListResponse
- type CreateCallTypeRequest
- type CreateCallTypeResponse
- type CreateChannelTypeRequest
- type CreateChannelTypeResponse
- type CreateCollectionsRequest
- type CreateCollectionsResponse
- type CreateCommandRequest
- type CreateCommandResponse
- type CreateDeviceRequest
- type CreateExternalStorageRequest
- type CreateExternalStorageResponse
- type CreateFeedGroupRequest
- type CreateFeedGroupResponse
- type CreateFeedViewRequest
- type CreateFeedViewResponse
- type CreateFeedsBatchRequest
- type CreateFeedsBatchResponse
- type CreateGuestRequest
- type CreateGuestResponse
- type CreateImportRequest
- type CreateImportResponse
- type CreateImportURLRequest
- type CreateImportURLResponse
- type CreateImportV2TaskRequest
- type CreateImportV2TaskResponse
- type CreateMembershipLevelRequest
- type CreateMembershipLevelResponse
- type CreatePollOptionRequest
- type CreatePollRequest
- type CreateReminderRequest
- type CreateRoleRequest
- type CreateRoleResponse
- type CreateSIPInboundRoutingRuleRequest
- type CreateSIPTrunkRequest
- type CreateSIPTrunkResponse
- type CreateUserGroupRequest
- type CreateUserGroupResponse
- type CustomActionRequestPayload
- type CustomCheckFlag
- type CustomCheckRequest
- type CustomCheckResponse
- type CustomEvent
- type CustomVideoEvent
- type DailyAggregateCallDurationReportResponse
- type DailyAggregateCallParticipantCountReportResponse
- type DailyAggregateCallsPerDayReportResponse
- type DailyAggregateQualityScoreReportResponse
- type DailyAggregateSDKUsageReportResponse
- type DailyAggregateUserFeedbackReportResponse
- type DailyMetricResponse
- type DailyMetricStatsResponse
- type DailyValue
- type Data
- type DataDogInfo
- type DeactivateUserRequest
- type DeactivateUserResponse
- type DeactivateUsersRequest
- type DeactivateUsersResponse
- type DecayFunctionConfig
- type DefaultLogger
- type DeleteActivitiesRequest
- type DeleteActivitiesResponse
- type DeleteActivityReactionRequest
- type DeleteActivityReactionResponse
- type DeleteActivityRequest
- type DeleteActivityRequestPayload
- type DeleteActivityResponse
- type DeleteBlockListRequest
- type DeleteBookmarkFolderRequest
- type DeleteBookmarkFolderResponse
- type DeleteBookmarkRequest
- type DeleteBookmarkResponse
- type DeleteCallRequest
- type DeleteCallResponse
- type DeleteCallTypeRequest
- type DeleteChannelFileRequest
- type DeleteChannelImageRequest
- type DeleteChannelRequest
- type DeleteChannelResponse
- type DeleteChannelTypeRequest
- type DeleteChannelsRequest
- type DeleteChannelsResponse
- type DeleteChannelsResultResponse
- type DeleteCollectionsRequest
- type DeleteCollectionsResponse
- type DeleteCommandRequest
- type DeleteCommandResponse
- type DeleteCommentReactionRequest
- type DeleteCommentReactionResponse
- type DeleteCommentRequest
- type DeleteCommentRequestPayload
- type DeleteCommentResponse
- type DeleteConfigRequest
- type DeleteDeviceRequest
- type DeleteDraftRequest
- type DeleteExternalStorageRequest
- type DeleteExternalStorageResponse
- type DeleteFeedGroupRequest
- type DeleteFeedGroupResponse
- type DeleteFeedRequest
- type DeleteFeedResponse
- type DeleteFeedUserDataRequest
- type DeleteFeedUserDataResponse
- type DeleteFeedViewRequest
- type DeleteFeedViewResponse
- type DeleteFeedsBatchRequest
- type DeleteFeedsBatchResponse
- type DeleteFileRequest
- type DeleteImageRequest
- type DeleteImportV2TaskRequest
- type DeleteImportV2TaskResponse
- type DeleteMembershipLevelRequest
- type DeleteMessageRequest
- type DeleteMessageRequestPayload
- type DeleteMessageResponse
- type DeleteModerationConfigResponse
- type DeleteModerationRuleRequest
- type DeleteModerationRuleResponse
- type DeleteModerationTemplateResponse
- type DeletePollOptionRequest
- type DeletePollRequest
- type DeletePollVoteRequest
- type DeletePushProviderRequest
- type DeleteReactionRequest
- type DeleteReactionRequestPayload
- type DeleteReactionResponse
- type DeleteRecordingRequest
- type DeleteRecordingResponse
- type DeleteReminderRequest
- type DeleteReminderResponse
- type DeleteRoleRequest
- type DeleteSIPInboundRoutingRuleRequest
- type DeleteSIPInboundRoutingRuleResponse
- type DeleteSIPTrunkRequest
- type DeleteSIPTrunkResponse
- type DeleteSegmentRequest
- type DeleteSegmentTargetsRequest
- type DeleteTranscriptionRequest
- type DeleteTranscriptionResponse
- type DeleteUserGroupRequest
- type DeleteUserRequestPayload
- type DeleteUsersRequest
- type DeleteUsersResponse
- type DeliveredMessagePayload
- type DeliveryReceiptsResponse
- type DeviceDataResponse
- type DeviceErrorInfo
- type DeviceResponse
- type DraftPayloadResponse
- type DraftResponse
- type EdgeResponse
- type EgressHLSResponse
- type EgressRTMPResponse
- type EgressResponse
- type EndCallRequest
- type EndCallResponse
- type EnrichedActivity
- type EnrichedCollectionResponse
- type EnrichedReaction
- type EnrichmentOptions
- type EntityCreatorResponse
- type EphemeralMessageUpdateRequest
- type ErrorResult
- type EventHook
- type EventNotificationSettings
- type EventNotificationSettingsRequest
- type EventNotificationSettingsResponse
- type EventRequest
- type EventResponse
- type ExportChannelsRequest
- type ExportChannelsResponse
- type ExportFeedUserDataRequest
- type ExportFeedUserDataResponse
- type ExportUserRequest
- type ExportUserResponse
- type ExportUsersRequest
- type ExportUsersResponse
- type ExternalStorageResponse
- type FCM
- type FCMPayload
- type FailedChannelUpdates
- type FeedCreatedEvent
- type FeedDeletedEvent
- type FeedGroup
- type FeedGroupChangedEvent
- type FeedGroupDeletedEvent
- type FeedGroupResponse
- type FeedGroupRestoredEvent
- type FeedInput
- type FeedMemberAddedEvent
- type FeedMemberRemovedEvent
- type FeedMemberRequest
- type FeedMemberResponse
- type FeedMemberUpdatedEvent
- type FeedOwnCapability
- type FeedOwnData
- type FeedRequest
- type FeedResponse
- type FeedSuggestionResponse
- type FeedUpdatedEvent
- type FeedViewResponse
- type FeedVisibilityResponse
- type Feeds
- func (c *Feeds) AcceptFeedMemberInvite(ctx context.Context, request *AcceptFeedMemberInviteRequest) (*StreamResponse[AcceptFeedMemberInviteResponse], error)
- func (c *Feeds) Delete(ctx context.Context, request *DeleteFeedRequest) (*StreamResponse[DeleteFeedResponse], error)
- func (c *Feeds) GetOrCreate(ctx context.Context, request *GetOrCreateFeedRequest) (*StreamResponse[GetOrCreateFeedResponse], error)
- func (c *Feeds) MarkActivity(ctx context.Context, request *MarkActivityRequest) (*StreamResponse[Response], error)
- func (c *Feeds) PinActivity(ctx context.Context, activityID string, request *PinActivityRequest) (*StreamResponse[PinActivityResponse], error)
- func (c *Feeds) QueryFeedMembers(ctx context.Context, request *QueryFeedMembersRequest) (*StreamResponse[QueryFeedMembersResponse], error)
- func (c *Feeds) QueryPinnedActivities(ctx context.Context, request *QueryPinnedActivitiesRequest) (*StreamResponse[QueryPinnedActivitiesResponse], error)
- func (c *Feeds) RejectFeedMemberInvite(ctx context.Context, request *RejectFeedMemberInviteRequest) (*StreamResponse[RejectFeedMemberInviteResponse], error)
- func (c *Feeds) UnpinActivity(ctx context.Context, activityID string, request *UnpinActivityRequest) (*StreamResponse[UnpinActivityResponse], error)
- func (c *Feeds) Update(ctx context.Context, request *UpdateFeedRequest) (*StreamResponse[UpdateFeedResponse], error)
- func (c *Feeds) UpdateFeedMembers(ctx context.Context, request *UpdateFeedMembersRequest) (*StreamResponse[UpdateFeedMembersResponse], error)
- type FeedsClient
- func (c *FeedsClient) AcceptFeedMemberInvite(ctx context.Context, feedID string, feedGroupID string, ...) (*StreamResponse[AcceptFeedMemberInviteResponse], error)
- func (c *FeedsClient) AcceptFollow(ctx context.Context, request *AcceptFollowRequest) (*StreamResponse[AcceptFollowResponse], error)
- func (c *FeedsClient) ActivityFeedback(ctx context.Context, activityID string, request *ActivityFeedbackRequest) (*StreamResponse[ActivityFeedbackResponse], error)
- func (c *FeedsClient) AddActivity(ctx context.Context, request *AddActivityRequest) (*StreamResponse[AddActivityResponse], error)
- func (c *FeedsClient) AddActivityReaction(ctx context.Context, activityID string, request *AddActivityReactionRequest) (*StreamResponse[AddReactionResponse], error)
- func (c *FeedsClient) AddBookmark(ctx context.Context, activityID string, request *AddBookmarkRequest) (*StreamResponse[AddBookmarkResponse], error)
- func (c *FeedsClient) AddComment(ctx context.Context, request *AddCommentRequest) (*StreamResponse[AddCommentResponse], error)
- func (c *FeedsClient) AddCommentReaction(ctx context.Context, id string, request *AddCommentReactionRequest) (*StreamResponse[AddCommentReactionResponse], error)
- func (c *FeedsClient) AddCommentsBatch(ctx context.Context, request *AddCommentsBatchRequest) (*StreamResponse[AddCommentsBatchResponse], error)
- func (c *FeedsClient) CastPollVote(ctx context.Context, activityID string, pollID string, ...) (*StreamResponse[PollVoteResponse], error)
- func (c *FeedsClient) CreateCollections(ctx context.Context, request *CreateCollectionsRequest) (*StreamResponse[CreateCollectionsResponse], error)
- func (c *FeedsClient) CreateFeedGroup(ctx context.Context, request *CreateFeedGroupRequest) (*StreamResponse[CreateFeedGroupResponse], error)
- func (c *FeedsClient) CreateFeedView(ctx context.Context, request *CreateFeedViewRequest) (*StreamResponse[CreateFeedViewResponse], error)
- func (c *FeedsClient) CreateFeedsBatch(ctx context.Context, request *CreateFeedsBatchRequest) (*StreamResponse[CreateFeedsBatchResponse], error)
- func (c *FeedsClient) CreateMembershipLevel(ctx context.Context, request *CreateMembershipLevelRequest) (*StreamResponse[CreateMembershipLevelResponse], error)
- func (c *FeedsClient) DeleteActivities(ctx context.Context, request *DeleteActivitiesRequest) (*StreamResponse[DeleteActivitiesResponse], error)
- func (c *FeedsClient) DeleteActivity(ctx context.Context, id string, request *DeleteActivityRequest) (*StreamResponse[DeleteActivityResponse], error)
- func (c *FeedsClient) DeleteActivityReaction(ctx context.Context, activityID string, _type string, ...) (*StreamResponse[DeleteActivityReactionResponse], error)
- func (c *FeedsClient) DeleteBookmark(ctx context.Context, activityID string, request *DeleteBookmarkRequest) (*StreamResponse[DeleteBookmarkResponse], error)
- func (c *FeedsClient) DeleteBookmarkFolder(ctx context.Context, folderID string, request *DeleteBookmarkFolderRequest) (*StreamResponse[DeleteBookmarkFolderResponse], error)
- func (c *FeedsClient) DeleteCollections(ctx context.Context, request *DeleteCollectionsRequest) (*StreamResponse[DeleteCollectionsResponse], error)
- func (c *FeedsClient) DeleteComment(ctx context.Context, id string, request *DeleteCommentRequest) (*StreamResponse[DeleteCommentResponse], error)
- func (c *FeedsClient) DeleteCommentReaction(ctx context.Context, id string, _type string, ...) (*StreamResponse[DeleteCommentReactionResponse], error)
- func (c *FeedsClient) DeleteFeed(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[DeleteFeedResponse], error)
- func (c *FeedsClient) DeleteFeedGroup(ctx context.Context, id string, request *DeleteFeedGroupRequest) (*StreamResponse[DeleteFeedGroupResponse], error)
- func (c *FeedsClient) DeleteFeedUserData(ctx context.Context, userID string, request *DeleteFeedUserDataRequest) (*StreamResponse[DeleteFeedUserDataResponse], error)
- func (c *FeedsClient) DeleteFeedView(ctx context.Context, id string, request *DeleteFeedViewRequest) (*StreamResponse[DeleteFeedViewResponse], error)
- func (c *FeedsClient) DeleteFeedsBatch(ctx context.Context, request *DeleteFeedsBatchRequest) (*StreamResponse[DeleteFeedsBatchResponse], error)
- func (c *FeedsClient) DeleteMembershipLevel(ctx context.Context, id string, request *DeleteMembershipLevelRequest) (*StreamResponse[Response], error)
- func (c *FeedsClient) DeletePollVote(ctx context.Context, activityID string, pollID string, voteID string, ...) (*StreamResponse[PollVoteResponse], error)
- func (c *FeedsClient) ExportFeedUserData(ctx context.Context, userID string, request *ExportFeedUserDataRequest) (*StreamResponse[ExportFeedUserDataResponse], error)
- func (c *FeedsClient) Feed(feedType, feedID string) *Feeds
- func (c *FeedsClient) Follow(ctx context.Context, request *FollowRequest) (*StreamResponse[SingleFollowResponse], error)
- func (c *FeedsClient) FollowBatch(ctx context.Context, request *FollowBatchRequest) (*StreamResponse[FollowBatchResponse], error)
- func (c *FeedsClient) GetActivity(ctx context.Context, id string, request *GetActivityRequest) (*StreamResponse[GetActivityResponse], error)
- func (c *FeedsClient) GetComment(ctx context.Context, id string, request *GetCommentRequest) (*StreamResponse[GetCommentResponse], error)
- func (c *FeedsClient) GetCommentReplies(ctx context.Context, id string, request *GetCommentRepliesRequest) (*StreamResponse[GetCommentRepliesResponse], error)
- func (c *FeedsClient) GetComments(ctx context.Context, request *GetCommentsRequest) (*StreamResponse[GetCommentsResponse], error)
- func (c *FeedsClient) GetFeedGroup(ctx context.Context, id string, request *GetFeedGroupRequest) (*StreamResponse[GetFeedGroupResponse], error)
- func (c *FeedsClient) GetFeedView(ctx context.Context, id string, request *GetFeedViewRequest) (*StreamResponse[GetFeedViewResponse], error)
- func (c *FeedsClient) GetFeedVisibility(ctx context.Context, name string, request *GetFeedVisibilityRequest) (*StreamResponse[GetFeedVisibilityResponse], error)
- func (c *FeedsClient) GetFeedsRateLimits(ctx context.Context, request *GetFeedsRateLimitsRequest) (*StreamResponse[GetFeedsRateLimitsResponse], error)
- func (c *FeedsClient) GetFollowSuggestions(ctx context.Context, feedGroupID string, request *GetFollowSuggestionsRequest) (*StreamResponse[GetFollowSuggestionsResponse], error)
- func (c *FeedsClient) GetOrCreateFeed(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[GetOrCreateFeedResponse], error)
- func (c *FeedsClient) GetOrCreateFeedGroup(ctx context.Context, id string, request *GetOrCreateFeedGroupRequest) (*StreamResponse[GetOrCreateFeedGroupResponse], error)
- func (c *FeedsClient) GetOrCreateFeedView(ctx context.Context, id string, request *GetOrCreateFeedViewRequest) (*StreamResponse[GetOrCreateFeedViewResponse], error)
- func (c *FeedsClient) GetOrCreateFollows(ctx context.Context, request *GetOrCreateFollowsRequest) (*StreamResponse[FollowBatchResponse], error)
- func (c *FeedsClient) GetOrCreateUnfollows(ctx context.Context, request *GetOrCreateUnfollowsRequest) (*StreamResponse[UnfollowBatchResponse], error)
- func (c *FeedsClient) ListFeedGroups(ctx context.Context, request *ListFeedGroupsRequest) (*StreamResponse[ListFeedGroupsResponse], error)
- func (c *FeedsClient) ListFeedViews(ctx context.Context, request *ListFeedViewsRequest) (*StreamResponse[ListFeedViewsResponse], error)
- func (c *FeedsClient) ListFeedVisibilities(ctx context.Context, request *ListFeedVisibilitiesRequest) (*StreamResponse[ListFeedVisibilitiesResponse], error)
- func (c *FeedsClient) MarkActivity(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[Response], error)
- func (c *FeedsClient) OwnBatch(ctx context.Context, request *OwnBatchRequest) (*StreamResponse[OwnBatchResponse], error)
- func (c *FeedsClient) PinActivity(ctx context.Context, feedGroupID string, feedID string, activityID string, ...) (*StreamResponse[PinActivityResponse], error)
- func (c *FeedsClient) QueryActivities(ctx context.Context, request *QueryActivitiesRequest) (*StreamResponse[QueryActivitiesResponse], error)
- func (c *FeedsClient) QueryActivityReactions(ctx context.Context, activityID string, request *QueryActivityReactionsRequest) (*StreamResponse[QueryActivityReactionsResponse], error)
- func (c *FeedsClient) QueryBookmarkFolders(ctx context.Context, request *QueryBookmarkFoldersRequest) (*StreamResponse[QueryBookmarkFoldersResponse], error)
- func (c *FeedsClient) QueryBookmarks(ctx context.Context, request *QueryBookmarksRequest) (*StreamResponse[QueryBookmarksResponse], error)
- func (c *FeedsClient) QueryCommentReactions(ctx context.Context, id string, request *QueryCommentReactionsRequest) (*StreamResponse[QueryCommentReactionsResponse], error)
- func (c *FeedsClient) QueryComments(ctx context.Context, request *QueryCommentsRequest) (*StreamResponse[QueryCommentsResponse], error)
- func (c *FeedsClient) QueryFeedMembers(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[QueryFeedMembersResponse], error)
- func (c *FeedsClient) QueryFeeds(ctx context.Context, request *QueryFeedsRequest) (*StreamResponse[QueryFeedsResponse], error)
- func (c *FeedsClient) QueryFeedsUsageStats(ctx context.Context, request *QueryFeedsUsageStatsRequest) (*StreamResponse[QueryFeedsUsageStatsResponse], error)
- func (c *FeedsClient) QueryFollows(ctx context.Context, request *QueryFollowsRequest) (*StreamResponse[QueryFollowsResponse], error)
- func (c *FeedsClient) QueryMembershipLevels(ctx context.Context, request *QueryMembershipLevelsRequest) (*StreamResponse[QueryMembershipLevelsResponse], error)
- func (c *FeedsClient) QueryPinnedActivities(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[QueryPinnedActivitiesResponse], error)
- func (c *FeedsClient) ReadCollections(ctx context.Context, request *ReadCollectionsRequest) (*StreamResponse[ReadCollectionsResponse], error)
- func (c *FeedsClient) RejectFeedMemberInvite(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[RejectFeedMemberInviteResponse], error)
- func (c *FeedsClient) RejectFollow(ctx context.Context, request *RejectFollowRequest) (*StreamResponse[RejectFollowResponse], error)
- func (c *FeedsClient) RestoreActivity(ctx context.Context, id string, request *RestoreActivityRequest) (*StreamResponse[RestoreActivityResponse], error)
- func (c *FeedsClient) RestoreFeedGroup(ctx context.Context, feedGroupID string, request *RestoreFeedGroupRequest) (*StreamResponse[RestoreFeedGroupResponse], error)
- func (c *FeedsClient) Unfollow(ctx context.Context, source string, target string, request *UnfollowRequest) (*StreamResponse[UnfollowResponse], error)
- func (c *FeedsClient) UnfollowBatch(ctx context.Context, request *UnfollowBatchRequest) (*StreamResponse[UnfollowBatchResponse], error)
- func (c *FeedsClient) UnpinActivity(ctx context.Context, feedGroupID string, feedID string, activityID string, ...) (*StreamResponse[UnpinActivityResponse], error)
- func (c *FeedsClient) UpdateActivitiesPartialBatch(ctx context.Context, request *UpdateActivitiesPartialBatchRequest) (*StreamResponse[UpdateActivitiesPartialBatchResponse], error)
- func (c *FeedsClient) UpdateActivity(ctx context.Context, id string, request *UpdateActivityRequest) (*StreamResponse[UpdateActivityResponse], error)
- func (c *FeedsClient) UpdateActivityPartial(ctx context.Context, id string, request *UpdateActivityPartialRequest) (*StreamResponse[UpdateActivityPartialResponse], error)
- func (c *FeedsClient) UpdateBookmark(ctx context.Context, activityID string, request *UpdateBookmarkRequest) (*StreamResponse[UpdateBookmarkResponse], error)
- func (c *FeedsClient) UpdateBookmarkFolder(ctx context.Context, folderID string, request *UpdateBookmarkFolderRequest) (*StreamResponse[UpdateBookmarkFolderResponse], error)
- func (c *FeedsClient) UpdateCollections(ctx context.Context, request *UpdateCollectionsRequest) (*StreamResponse[UpdateCollectionsResponse], error)
- func (c *FeedsClient) UpdateComment(ctx context.Context, id string, request *UpdateCommentRequest) (*StreamResponse[UpdateCommentResponse], error)
- func (c *FeedsClient) UpdateFeed(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[UpdateFeedResponse], error)
- func (c *FeedsClient) UpdateFeedGroup(ctx context.Context, id string, request *UpdateFeedGroupRequest) (*StreamResponse[UpdateFeedGroupResponse], error)
- func (c *FeedsClient) UpdateFeedMembers(ctx context.Context, feedGroupID string, feedID string, ...) (*StreamResponse[UpdateFeedMembersResponse], error)
- func (c *FeedsClient) UpdateFeedView(ctx context.Context, id string, request *UpdateFeedViewRequest) (*StreamResponse[UpdateFeedViewResponse], error)
- func (c *FeedsClient) UpdateFeedVisibility(ctx context.Context, name string, request *UpdateFeedVisibilityRequest) (*StreamResponse[UpdateFeedVisibilityResponse], error)
- func (c *FeedsClient) UpdateFollow(ctx context.Context, request *UpdateFollowRequest) (*StreamResponse[UpdateFollowResponse], error)
- func (c *FeedsClient) UpdateMembershipLevel(ctx context.Context, id string, request *UpdateMembershipLevelRequest) (*StreamResponse[UpdateMembershipLevelResponse], error)
- func (c *FeedsClient) UpsertActivities(ctx context.Context, request *UpsertActivitiesRequest) (*StreamResponse[UpsertActivitiesResponse], error)
- func (c *FeedsClient) UpsertCollections(ctx context.Context, request *UpsertCollectionsRequest) (*StreamResponse[UpsertCollectionsResponse], error)
- type FeedsModerationTemplateConfigPayload
- type FeedsPreferences
- type FeedsPreferencesResponse
- type FeedsReactionGroupResponse
- type FeedsReactionResponse
- type Field
- type FileUploadConfig
- type FileUploadRequest
- type FileUploadResponse
- type FilterConfigResponse
- type FirebaseConfig
- type FirebaseConfigFields
- type FlagCountRuleParameters
- type FlagDetailsResponse
- type FlagFeedbackResponse
- type FlagMessageDetailsResponse
- type FlagRequest
- type FlagResponse
- type FlagUpdatedEvent
- type FlagUserOptions
- type FollowBatchRequest
- type FollowBatchResponse
- type FollowCreatedEvent
- type FollowDeletedEvent
- type FollowPair
- type FollowRequest
- type FollowResponse
- type FollowUpdatedEvent
- type FrameRecordSettings
- type FrameRecordingResponse
- type FrameRecordingSettingsRequest
- type FrameRecordingSettingsResponse
- type FriendReactionsOptions
- type FullUserResponse
- type FutureChannelBanResponse
- type GeofenceResponse
- type GeofenceSettings
- type GeofenceSettingsRequest
- type GeofenceSettingsResponse
- type GetActiveCallsStatusRequest
- type GetActiveCallsStatusResponse
- type GetActivityRequest
- type GetActivityResponse
- type GetAppRequest
- type GetAppealRequest
- type GetAppealResponse
- type GetApplicationResponse
- type GetBlockListRequest
- type GetBlockListResponse
- type GetBlockedUsersRequest
- type GetBlockedUsersResponse
- type GetCallParticipantSessionMetricsRequest
- type GetCallParticipantSessionMetricsResponse
- type GetCallReportRequest
- type GetCallReportResponse
- type GetCallRequest
- type GetCallResponse
- type GetCallSessionParticipantStatsDetailsRequest
- type GetCallSessionParticipantStatsDetailsResponse
- type GetCallSessionParticipantStatsTimelineRequest
- type GetCallStatsMapRequest
- type GetCallTypeRequest
- type GetCallTypeResponse
- type GetCampaignRequest
- type GetCampaignResponse
- type GetChannelTypeRequest
- type GetChannelTypeResponse
- type GetCommandRequest
- type GetCommandResponse
- type GetCommentRepliesRequest
- type GetCommentRepliesResponse
- type GetCommentRequest
- type GetCommentResponse
- type GetCommentsRequest
- type GetCommentsResponse
- type GetConfigRequest
- type GetConfigResponse
- type GetCustomPermissionResponse
- type GetDraftRequest
- type GetDraftResponse
- type GetEdgesRequest
- type GetEdgesResponse
- type GetFeedGroupRequest
- type GetFeedGroupResponse
- type GetFeedViewRequest
- type GetFeedViewResponse
- type GetFeedVisibilityRequest
- type GetFeedVisibilityResponse
- type GetFeedsRateLimitsRequest
- type GetFeedsRateLimitsResponse
- type GetFollowSuggestionsRequest
- type GetFollowSuggestionsResponse
- type GetImportRequest
- type GetImportResponse
- type GetImportV2TaskRequest
- type GetImportV2TaskResponse
- type GetManyMessagesRequest
- type GetManyMessagesResponse
- type GetMessageRequest
- type GetMessageResponse
- type GetModerationRuleRequest
- type GetModerationRuleResponse
- type GetOGRequest
- type GetOGResponse
- type GetOrCreateCallRequest
- type GetOrCreateCallResponse
- type GetOrCreateChannelRequest
- type GetOrCreateDistinctChannelRequest
- type GetOrCreateFeedGroupRequest
- type GetOrCreateFeedGroupResponse
- type GetOrCreateFeedRequest
- type GetOrCreateFeedResponse
- type GetOrCreateFeedViewRequest
- type GetOrCreateFeedViewResponse
- type GetOrCreateFollowsRequest
- type GetOrCreateUnfollowsRequest
- type GetPermissionRequest
- type GetPollOptionRequest
- type GetPollRequest
- type GetPushTemplatesRequest
- type GetPushTemplatesResponse
- type GetRateLimitsRequest
- type GetRateLimitsResponse
- type GetReactionsRequest
- type GetReactionsResponse
- type GetRepliesRequest
- type GetRepliesResponse
- type GetReviewQueueItemRequest
- type GetReviewQueueItemResponse
- type GetSegmentRequest
- type GetSegmentResponse
- type GetTaskRequest
- type GetTaskResponse
- type GetThreadRequest
- type GetThreadResponse
- type GetUserGroupRequest
- type GetUserGroupResponse
- type GetUserLiveLocationsRequest
- type GoLiveRequest
- type GoLiveResponse
- type GoogleVisionConfig
- type GroupedStatsResponse
- type HLSSettings
- type HLSSettingsRequest
- type HLSSettingsResponse
- type HarmConfig
- type HideChannelRequest
- type HideChannelResponse
- type HttpClient
- type HuaweiConfig
- type HuaweiConfigFields
- type ImageContentParameters
- type ImageData
- type ImageRuleParameters
- type ImageSize
- type ImageUploadRequest
- type ImageUploadResponse
- type Images
- type ImportTask
- type ImportTaskHistory
- type ImportV2TaskItem
- type ImportV2TaskSettings
- type ImportV2TaskSettingsS3
- type IndividualRecordSettings
- type IndividualRecordingResponse
- type IndividualRecordingSettingsRequest
- type IndividualRecordingSettingsResponse
- type IngressAudioEncodingOptions
- type IngressAudioEncodingOptionsRequest
- type IngressAudioEncodingResponse
- type IngressErrorEvent
- type IngressSettings
- type IngressSettingsRequest
- type IngressSettingsResponse
- type IngressSource
- type IngressSourceRequest
- type IngressSourceResponse
- type IngressStartedEvent
- type IngressStoppedEvent
- type IngressVideoEncodingOptions
- type IngressVideoEncodingOptionsRequest
- type IngressVideoEncodingResponse
- type IngressVideoLayer
- type IngressVideoLayerRequest
- type IngressVideoLayerResponse
- type JoinCallAPIMetrics
- type KeyframeRuleParameters
- type KickUserRequest
- type KickUserResponse
- type KickedUserEvent
- type LLMConfig
- type LLMRule
- type LabelResponse
- type LabelThresholds
- type LayoutSettings
- type LayoutSettingsRequest
- type LayoutSettingsResponse
- type LimitInfoResponse
- type LimitsSettings
- type LimitsSettingsRequest
- type LimitsSettingsResponse
- type ListBlockListResponse
- type ListBlockListsRequest
- type ListCallTypeResponse
- type ListCallTypesRequest
- type ListChannelTypesRequest
- type ListChannelTypesResponse
- type ListCommandsRequest
- type ListCommandsResponse
- type ListDevicesRequest
- type ListDevicesResponse
- type ListExternalStorageRequest
- type ListExternalStorageResponse
- type ListFeedGroupsRequest
- type ListFeedGroupsResponse
- type ListFeedViewsRequest
- type ListFeedViewsResponse
- type ListFeedVisibilitiesRequest
- type ListFeedVisibilitiesResponse
- type ListImportV2TasksRequest
- type ListImportV2TasksResponse
- type ListImportsRequest
- type ListImportsResponse
- type ListPermissionsRequest
- type ListPermissionsResponse
- type ListPushProvidersRequest
- type ListPushProvidersResponse
- type ListRecordingsRequest
- type ListRecordingsResponse
- type ListRolesRequest
- type ListRolesResponse
- type ListSIPInboundRoutingRuleRequest
- type ListSIPInboundRoutingRuleResponse
- type ListSIPTrunksRequest
- type ListSIPTrunksResponse
- type ListTranscriptionsRequest
- type ListTranscriptionsResponse
- type ListUserGroupsRequest
- type ListUserGroupsResponse
- type LocationResponse
- type LogLevel
- type Logger
- type MarkActivityRequest
- type MarkChannelsReadRequest
- type MarkDeliveredRequest
- type MarkDeliveredResponse
- type MarkReadRequest
- type MarkReadResponse
- type MarkReadResponseEvent
- type MarkReviewedRequestPayload
- type MarkUnreadRequest
- type MaxStreakChangedEvent
- type MemberAddedEvent
- type MemberRemovedEvent
- type MemberRequest
- type MemberResponse
- type MemberUpdatedEvent
- type MembersResponse
- type MembershipLevelResponse
- type MessageActionRequest
- type MessageActionResponse
- type MessageChangeSet
- type MessageDeletedEvent
- type MessageFlagResponse
- type MessageFlaggedEvent
- type MessageHistoryEntryResponse
- type MessageModerationResult
- type MessageNewEvent
- type MessageOptions
- type MessagePaginationParams
- type MessageReadEvent
- type MessageRequest
- type MessageResponse
- type MessageStatsResponse
- type MessageUnblockedEvent
- type MessageUndeletedEvent
- type MessageUpdate
- type MessageUpdatedEvent
- type MessageWithChannelResponse
- type MetricDescriptor
- type MetricStats
- type MetricThreshold
- type MetricTimeSeries
- type ModerationActionConfigResponse
- type ModerationCheckCompletedEvent
- type ModerationClient
- func (c *ModerationClient) Appeal(ctx context.Context, request *AppealRequest) (*StreamResponse[AppealResponse], error)
- func (c *ModerationClient) Ban(ctx context.Context, request *BanRequest) (*StreamResponse[BanResponse], error)
- func (c *ModerationClient) BulkImageModeration(ctx context.Context, request *BulkImageModerationRequest) (*StreamResponse[BulkImageModerationResponse], error)
- func (c *ModerationClient) Check(ctx context.Context, request *CheckRequest) (*StreamResponse[CheckResponse], error)
- func (c *ModerationClient) CustomCheck(ctx context.Context, request *CustomCheckRequest) (*StreamResponse[CustomCheckResponse], error)
- func (c *ModerationClient) DeleteConfig(ctx context.Context, key string, request *DeleteConfigRequest) (*StreamResponse[DeleteModerationConfigResponse], error)
- func (c *ModerationClient) DeleteModerationRule(ctx context.Context, request *DeleteModerationRuleRequest) (*StreamResponse[DeleteModerationRuleResponse], error)
- func (c *ModerationClient) Flag(ctx context.Context, request *FlagRequest) (*StreamResponse[FlagResponse], error)
- func (c *ModerationClient) GetAppeal(ctx context.Context, id string, request *GetAppealRequest) (*StreamResponse[GetAppealResponse], error)
- func (c *ModerationClient) GetConfig(ctx context.Context, key string, request *GetConfigRequest) (*StreamResponse[GetConfigResponse], error)
- func (c *ModerationClient) GetModerationRule(ctx context.Context, request *GetModerationRuleRequest) (*StreamResponse[GetModerationRuleResponse], error)
- func (c *ModerationClient) GetReviewQueueItem(ctx context.Context, id string, request *GetReviewQueueItemRequest) (*StreamResponse[GetReviewQueueItemResponse], error)
- func (c *ModerationClient) Mute(ctx context.Context, request *MuteRequest) (*StreamResponse[MuteResponse], error)
- func (c *ModerationClient) QueryAppeals(ctx context.Context, request *QueryAppealsRequest) (*StreamResponse[QueryAppealsResponse], error)
- func (c *ModerationClient) QueryModerationConfigs(ctx context.Context, request *QueryModerationConfigsRequest) (*StreamResponse[QueryModerationConfigsResponse], error)
- func (c *ModerationClient) QueryModerationFlags(ctx context.Context, request *QueryModerationFlagsRequest) (*StreamResponse[QueryModerationFlagsResponse], error)
- func (c *ModerationClient) QueryModerationLogs(ctx context.Context, request *QueryModerationLogsRequest) (*StreamResponse[QueryModerationLogsResponse], error)
- func (c *ModerationClient) QueryModerationRules(ctx context.Context, request *QueryModerationRulesRequest) (*StreamResponse[QueryModerationRulesResponse], error)
- func (c *ModerationClient) QueryReviewQueue(ctx context.Context, request *QueryReviewQueueRequest) (*StreamResponse[QueryReviewQueueResponse], error)
- func (c *ModerationClient) SubmitAction(ctx context.Context, request *SubmitActionRequest) (*StreamResponse[SubmitActionResponse], error)
- func (c *ModerationClient) Unban(ctx context.Context, request *UnbanRequest) (*StreamResponse[UnbanResponse], error)
- func (c *ModerationClient) Unmute(ctx context.Context, request *UnmuteRequest) (*StreamResponse[UnmuteResponse], error)
- func (c *ModerationClient) UpsertConfig(ctx context.Context, request *UpsertConfigRequest) (*StreamResponse[UpsertConfigResponse], error)
- func (c *ModerationClient) UpsertModerationRule(ctx context.Context, request *UpsertModerationRuleRequest) (*StreamResponse[UpsertModerationRuleResponse], error)
- func (c *ModerationClient) V2DeleteTemplate(ctx context.Context, request *V2DeleteTemplateRequest) (*StreamResponse[DeleteModerationTemplateResponse], error)
- func (c *ModerationClient) V2QueryTemplates(ctx context.Context, request *V2QueryTemplatesRequest) (*StreamResponse[QueryFeedModerationTemplatesResponse], error)
- func (c *ModerationClient) V2UpsertTemplate(ctx context.Context, request *V2UpsertTemplateRequest) (*StreamResponse[UpsertModerationTemplateResponse], error)
- type ModerationConfig
- type ModerationCustomActionEvent
- type ModerationDashboardPreferences
- type ModerationFlagResponse
- type ModerationFlaggedEvent
- type ModerationMarkReviewedEvent
- type ModerationPayload
- type ModerationPayloadRequest
- type ModerationPayloadResponse
- type ModerationResponse
- type ModerationRuleInfo
- type ModerationRuleV2Response
- type ModerationRulesTriggeredEvent
- type ModerationV2Response
- type MuteChannelRequest
- type MuteChannelResponse
- type MuteRequest
- type MuteResponse
- type MuteUsersRequest
- type MuteUsersResponse
- type NetworkMetricsReportResponse
- type NoiseCancellationSettings
- type NotificationComment
- type NotificationConfig
- type NotificationContext
- type NotificationFeedUpdatedEvent
- type NotificationMarkUnreadEvent
- type NotificationParentActivity
- type NotificationSettings
- type NotificationSettingsRequest
- type NotificationSettingsResponse
- type NotificationStatusResponse
- type NotificationTarget
- type NotificationThreadMessageNewEvent
- type NotificationTrigger
- type OCRRule
- type OnlyUserID
- type OverviewDashboardConfig
- type OwnBatchRequest
- type OwnBatchResponse
- type OwnCapability
- type OwnUserResponse
- type PagerRequest
- type PagerResponse
- type PaginationParams
- type ParsedPredefinedFilterResponse
- type ParticipantCountByMinuteResponse
- type ParticipantCountOverTimeResponse
- type ParticipantReportResponse
- type ParticipantSeriesPublisherStats
- type ParticipantSeriesSubscriberStats
- type ParticipantSeriesSubscriptionTrackMetrics
- type ParticipantSeriesTimeframe
- type ParticipantSeriesTrackMetrics
- type ParticipantSeriesUserStats
- type ParticipantSessionDetails
- type PendingMessageEvent
- type PendingMessageResponse
- type PerSDKUsageReport
- type Permission
- type PermissionRequestEvent
- type PinActivityRequest
- type PinActivityResponse
- type PinRequest
- type PinResponse
- type PlatformDataResponse
- type Policy
- type PolicyRequest
- type PollOptionInput
- type PollOptionRequest
- type PollOptionResponse
- type PollOptionResponseData
- type PollResponse
- type PollResponseData
- type PollVoteResponse
- type PollVoteResponseData
- type PollVotesResponse
- type PrivacySettingsResponse
- type PublishedTrackFlags
- type PublishedTrackMetrics
- type PublisherAllMetrics
- type PublisherAudioMetrics
- type PublisherStatsResponse
- type PublisherVideoMetrics
- type PublishersMetrics
- type PushConfig
- type PushNotificationConfig
- type PushNotificationFields
- type PushNotificationSettingsResponse
- type PushPreferenceInput
- type PushPreferencesResponse
- type PushProvider
- type PushProviderRequest
- type PushProviderResponse
- type PushTemplate
- type PushTemplateResponse
- type QualityScoreReport
- type QualityScoreReportResponse
- type QueryActivitiesRequest
- type QueryActivitiesResponse
- type QueryActivityReactionsRequest
- type QueryActivityReactionsResponse
- type QueryAggregateCallStatsRequest
- type QueryAggregateCallStatsResponse
- type QueryAppealsRequest
- type QueryAppealsResponse
- type QueryBannedUsersPayload
- type QueryBannedUsersRequest
- type QueryBannedUsersResponse
- type QueryBookmarkFoldersRequest
- type QueryBookmarkFoldersResponse
- type QueryBookmarksRequest
- type QueryBookmarksResponse
- type QueryCallMembersRequest
- type QueryCallMembersResponse
- type QueryCallParticipantSessionsRequest
- type QueryCallParticipantSessionsResponse
- type QueryCallParticipantsRequest
- type QueryCallParticipantsResponse
- type QueryCallSessionParticipantStatsRequest
- type QueryCallSessionParticipantStatsResponse
- type QueryCallSessionParticipantStatsTimelineResponse
- type QueryCallStatsMapResponse
- type QueryCallStatsRequest
- type QueryCallStatsResponse
- type QueryCallsRequest
- type QueryCallsResponse
- type QueryCampaignsRequest
- type QueryCampaignsResponse
- type QueryChannelsRequest
- type QueryChannelsResponse
- type QueryCommentReactionsRequest
- type QueryCommentReactionsResponse
- type QueryCommentsRequest
- type QueryCommentsResponse
- type QueryDraftsRequest
- type QueryDraftsResponse
- type QueryFeedMembersRequest
- type QueryFeedMembersResponse
- type QueryFeedModerationTemplate
- type QueryFeedModerationTemplatesResponse
- type QueryFeedsRequest
- type QueryFeedsResponse
- type QueryFeedsUsageStatsRequest
- type QueryFeedsUsageStatsResponse
- type QueryFollowsRequest
- type QueryFollowsResponse
- type QueryFutureChannelBansPayload
- type QueryFutureChannelBansRequest
- type QueryFutureChannelBansResponse
- type QueryMembersPayload
- type QueryMembersRequest
- type QueryMembershipLevelsRequest
- type QueryMembershipLevelsResponse
- type QueryMessageFlagsPayload
- type QueryMessageFlagsRequest
- type QueryMessageFlagsResponse
- type QueryMessageHistoryRequest
- type QueryMessageHistoryResponse
- type QueryModerationConfigsRequest
- type QueryModerationConfigsResponse
- type QueryModerationFlagsRequest
- type QueryModerationFlagsResponse
- type QueryModerationLogsRequest
- type QueryModerationLogsResponse
- type QueryModerationRulesRequest
- type QueryModerationRulesResponse
- type QueryPinnedActivitiesRequest
- type QueryPinnedActivitiesResponse
- type QueryPollVotesRequest
- type QueryPollsRequest
- type QueryPollsResponse
- type QueryReactionsRequest
- type QueryReactionsResponse
- type QueryRemindersRequest
- type QueryRemindersResponse
- type QueryReviewQueueRequest
- type QueryReviewQueueResponse
- type QuerySegmentTargetsRequest
- type QuerySegmentTargetsResponse
- type QuerySegmentsRequest
- type QuerySegmentsResponse
- type QueryTeamUsageStatsRequest
- type QueryTeamUsageStatsResponse
- type QueryThreadsRequest
- type QueryThreadsResponse
- type QueryUserFeedbackRequest
- type QueryUserFeedbackResponse
- type QueryUsersPayload
- type QueryUsersRequest
- type QueryUsersResponse
- type RTMPBroadcastRequest
- type RTMPIngress
- type RTMPLocation
- type RTMPSettings
- type RTMPSettingsRequest
- type RTMPSettingsResponse
- type RankingConfig
- type RateLimitInfo
- type RawRecordSettings
- type RawRecordingResponse
- type RawRecordingSettingsRequest
- type RawRecordingSettingsResponse
- type Reaction
- type ReactionDeletedEvent
- type ReactionGroupResponse
- type ReactionNewEvent
- type ReactionRequest
- type ReactionResponse
- type ReactionUpdatedEvent
- type ReactivateUserRequest
- type ReactivateUserResponse
- type ReactivateUsersRequest
- type ReactivateUsersResponse
- type ReadCollectionsRequest
- type ReadCollectionsResponse
- type ReadReceiptsResponse
- type ReadStateResponse
- type RecordSettings
- type RecordSettingsRequest
- type RecordSettingsResponse
- type RejectAppealRequestPayload
- type RejectFeedMemberInviteRequest
- type RejectFeedMemberInviteResponse
- type RejectFollowRequest
- type RejectFollowResponse
- type ReminderCreatedEvent
- type ReminderDeletedEvent
- type ReminderNotificationEvent
- type ReminderResponseData
- type ReminderUpdatedEvent
- type RemoveUserGroupMembersRequest
- type RemoveUserGroupMembersResponse
- type RepliesMeta
- type ReportByHistogramBucket
- type ReportResponse
- type ResolutionMetricsTimeSeries
- type ResolveSipInboundRequest
- type ResolveSipInboundResponse
- type Response
- type RestoreActionRequestPayload
- type RestoreActivityRequest
- type RestoreActivityResponse
- type RestoreFeedGroupRequest
- type RestoreFeedGroupResponse
- type RestoreUsersRequest
- type ReviewQueueItemNewEvent
- type ReviewQueueItemResponse
- type ReviewQueueItemUpdatedEvent
- type RingCallRequest
- type RingCallResponse
- type RingSettings
- type RingSettingsRequest
- type RingSettingsResponse
- type Role
- type RuleBuilderAction
- type RuleBuilderCondition
- type RuleBuilderConditionGroup
- type RuleBuilderConfig
- type RuleBuilderRule
- type RunMessageActionRequest
- type S3Request
- type SDKUsageReport
- type SDKUsageReportResponse
- type SFULocationResponse
- type SIPCallConfigsRequest
- type SIPCallConfigsResponse
- type SIPCallerConfigsRequest
- type SIPCallerConfigsResponse
- type SIPChallengeRequest
- type SIPDirectRoutingRuleCallConfigsRequest
- type SIPDirectRoutingRuleCallConfigsResponse
- type SIPInboundRoutingRulePinConfigsRequest
- type SIPInboundRoutingRulePinConfigsResponse
- type SIPInboundRoutingRuleRequest
- type SIPInboundRoutingRuleResponse
- type SIPPinProtectionConfigsRequest
- type SIPPinProtectionConfigsResponse
- type SIPTrunkResponse
- type SRTCredentials
- type SRTIngress
- type ScreensharingSettings
- type ScreensharingSettingsRequest
- type ScreensharingSettingsResponse
- type SearchPayload
- type SearchRequest
- type SearchResponse
- type SearchResult
- type SearchResultMessage
- type SearchUserGroupsRequest
- type SearchUserGroupsResponse
- type SearchWarning
- type Segment
- type SegmentResponse
- type SegmentTargetExistsRequest
- type SegmentTargetResponse
- type SendCallEventRequest
- type SendCallEventResponse
- type SendClosedCaptionRequest
- type SendClosedCaptionResponse
- type SendEventRequest
- type SendMessageRequest
- type SendMessageResponse
- type SendReactionRequest
- type SendReactionResponse
- type SendUserCustomEventRequest
- type SessionClient
- type SessionSettings
- type SessionSettingsRequest
- type SessionSettingsResponse
- type SessionWarningResponse
- type ShadowBlockActionRequestPayload
- type SharedLocation
- type SharedLocationResponse
- type SharedLocationResponseData
- type SharedLocationsResponse
- type ShowChannelRequest
- type ShowChannelResponse
- type SingleFollowResponse
- type SipInboundCredentials
- type SortParamRequest
- type SpeechSegmentConfig
- type StartCampaignRequest
- type StartCampaignResponse
- type StartClosedCaptionsRequest
- type StartClosedCaptionsResponse
- type StartFrameRecordingRequest
- type StartFrameRecordingResponse
- type StartHLSBroadcastingRequest
- type StartHLSBroadcastingResponse
- type StartRTMPBroadcastsRequest
- type StartRTMPBroadcastsResponse
- type StartRecordingRequest
- type StartRecordingResponse
- type StartTranscriptionRequest
- type StartTranscriptionResponse
- type StopAllRTMPBroadcastsRequest
- type StopAllRTMPBroadcastsResponse
- type StopCampaignRequest
- type StopClosedCaptionsRequest
- type StopClosedCaptionsResponse
- type StopFrameRecordingRequest
- type StopFrameRecordingResponse
- type StopHLSBroadcastingRequest
- type StopHLSBroadcastingResponse
- type StopLiveRequest
- type StopLiveResponse
- type StopRTMPBroadcastRequest
- type StopRTMPBroadcastsRequest
- type StopRTMPBroadcastsResponse
- type StopRecordingRequest
- type StopRecordingResponse
- type StopTranscriptionRequest
- type StopTranscriptionResponse
- type StoriesConfig
- type StoriesFeedUpdatedEvent
- type Stream
- type StreamError
- type StreamResponse
- type SubmitActionRequest
- type SubmitActionResponse
- type SubscriberAllMetrics
- type SubscriberAudioMetrics
- type SubscriberStatsResponse
- type SubscriberVideoMetrics
- type SubscribersMetrics
- type TargetResolution
- type TeamUsageStats
- type TextContentParameters
- type TextRuleParameters
- type ThreadParticipant
- type ThreadResponse
- type ThreadStateResponse
- type ThreadUpdatedEvent
- type ThreadedCommentResponse
- type Thresholds
- type ThumbnailResponse
- type ThumbnailsSettings
- type ThumbnailsSettingsRequest
- type ThumbnailsSettingsResponse
- type Time
- type Timestamp
- type TokenOption
- type TrackStatsResponse
- type TranscriptionSettings
- type TranscriptionSettingsRequest
- type TranscriptionSettingsResponse
- type TranslateMessageRequest
- type TranslationSettings
- type TruncateChannelRequest
- type TruncateChannelResponse
- type TypingIndicatorsResponse
- type UnbanActionRequestPayload
- type UnbanRequest
- type UnbanResponse
- type UnblockActionRequestPayload
- type UnblockUserRequest
- type UnblockUserResponse
- type UnblockUsersRequest
- type UnblockUsersResponse
- type UnblockedUserEvent
- type UndeleteMessageRequest
- type UndeleteMessageResponse
- type UnfollowBatchRequest
- type UnfollowBatchResponse
- type UnfollowRequest
- type UnfollowResponse
- type UnmuteChannelRequest
- type UnmuteRequest
- type UnmuteResponse
- type UnpinActivityRequest
- type UnpinActivityResponse
- type UnpinRequest
- type UnpinResponse
- type UnreadCountsBatchRequest
- type UnreadCountsBatchResponse
- type UnreadCountsChannel
- type UnreadCountsChannelType
- type UnreadCountsRequest
- type UnreadCountsResponse
- type UnreadCountsThread
- type UpdateActivitiesPartialBatchRequest
- type UpdateActivitiesPartialBatchResponse
- type UpdateActivityPartialChangeRequest
- type UpdateActivityPartialRequest
- type UpdateActivityPartialResponse
- type UpdateActivityRequest
- type UpdateActivityResponse
- type UpdateAppRequest
- type UpdateBlockListRequest
- type UpdateBlockListResponse
- type UpdateBookmarkFolderRequest
- type UpdateBookmarkFolderResponse
- type UpdateBookmarkRequest
- type UpdateBookmarkResponse
- type UpdateCallMembersRequest
- type UpdateCallMembersResponse
- type UpdateCallRequest
- type UpdateCallResponse
- type UpdateCallTypeRequest
- type UpdateCallTypeResponse
- type UpdateChannelPartialRequest
- type UpdateChannelPartialResponse
- type UpdateChannelRequest
- type UpdateChannelResponse
- type UpdateChannelTypeRequest
- type UpdateChannelTypeResponse
- type UpdateCollectionRequest
- type UpdateCollectionsRequest
- type UpdateCollectionsResponse
- type UpdateCommandRequest
- type UpdateCommandResponse
- type UpdateCommentRequest
- type UpdateCommentResponse
- type UpdateExternalStorageRequest
- type UpdateExternalStorageResponse
- type UpdateFeedGroupRequest
- type UpdateFeedGroupResponse
- type UpdateFeedMembersRequest
- type UpdateFeedMembersResponse
- type UpdateFeedRequest
- type UpdateFeedResponse
- type UpdateFeedViewRequest
- type UpdateFeedViewResponse
- type UpdateFeedVisibilityRequest
- type UpdateFeedVisibilityResponse
- type UpdateFollowRequest
- type UpdateFollowResponse
- type UpdateLiveLocationRequest
- type UpdateMemberPartialRequest
- type UpdateMemberPartialResponse
- type UpdateMembershipLevelRequest
- type UpdateMembershipLevelResponse
- type UpdateMessagePartialRequest
- type UpdateMessagePartialResponse
- type UpdateMessageRequest
- type UpdateMessageResponse
- type UpdatePollOptionRequest
- type UpdatePollPartialRequest
- type UpdatePollRequest
- type UpdatePushNotificationPreferencesRequest
- type UpdateReminderRequest
- type UpdateReminderResponse
- type UpdateSIPInboundRoutingRuleRequest
- type UpdateSIPInboundRoutingRuleResponse
- type UpdateSIPTrunkRequest
- type UpdateSIPTrunkResponse
- type UpdateThreadPartialRequest
- type UpdateThreadPartialResponse
- type UpdateUserGroupRequest
- type UpdateUserGroupResponse
- type UpdateUserPartialRequest
- type UpdateUserPermissionsRequest
- type UpdateUserPermissionsResponse
- type UpdateUsersPartialRequest
- type UpdateUsersRequest
- type UpdateUsersResponse
- type UpdatedCallPermissionsEvent
- type UploadChannelFileRequest
- type UploadChannelFileResponse
- type UploadChannelImageRequest
- type UploadChannelRequest
- type UploadChannelResponse
- type UploadFileRequest
- type UploadImageRequest
- type UpsertActivitiesRequest
- type UpsertActivitiesResponse
- type UpsertCollectionsRequest
- type UpsertCollectionsResponse
- type UpsertConfigRequest
- type UpsertConfigResponse
- type UpsertModerationRuleRequest
- type UpsertModerationRuleResponse
- type UpsertModerationTemplateRequest
- type UpsertModerationTemplateResponse
- type UpsertPushPreferencesRequest
- type UpsertPushPreferencesResponse
- type UpsertPushProviderRequest
- type UpsertPushProviderResponse
- type UpsertPushTemplateRequest
- type UpsertPushTemplateResponse
- type User
- type UserBannedEvent
- type UserCreatedWithinParameters
- type UserCustomEventRequest
- type UserCustomPropertyParameters
- type UserDeactivatedEvent
- type UserDeletedEvent
- type UserFeedbackReport
- type UserFeedbackReportResponse
- type UserFeedbackResponse
- type UserFlaggedEvent
- type UserGroup
- type UserGroupCreatedEvent
- type UserGroupDeletedEvent
- type UserGroupMember
- type UserGroupMemberAddedEvent
- type UserGroupMemberRemovedEvent
- type UserGroupResponse
- type UserGroupUpdatedEvent
- type UserIdenticalContentCountParameters
- type UserMessagesDeletedEvent
- type UserMuteResponse
- type UserMutedEvent
- type UserRatingReportResponse
- type UserReactivatedEvent
- type UserRequest
- type UserResponse
- type UserResponseCommonFields
- type UserResponsePrivacyFields
- type UserRoleParameters
- type UserRuleParameters
- type UserUnbannedEvent
- type UserUnmutedEvent
- type UserUnreadReminderEvent
- type UserUpdatedEvent
- type V2DeleteTemplateRequest
- type V2QueryTemplatesRequest
- type V2UpsertTemplateRequest
- type VelocityFilterConfig
- type VelocityFilterConfigRule
- type VideoCallRuleConfig
- type VideoClient
- func (c *VideoClient) BlockUser(ctx context.Context, _type string, id string, request *BlockUserRequest) (*StreamResponse[BlockUserResponse], error)
- func (c *VideoClient) Call(callType, callID string) *Call
- func (c *VideoClient) CollectUserFeedback(ctx context.Context, _type string, id string, ...) (*StreamResponse[CollectUserFeedbackResponse], error)
- func (c *VideoClient) CreateCallType(ctx context.Context, request *CreateCallTypeRequest) (*StreamResponse[CreateCallTypeResponse], error)
- func (c *VideoClient) CreateSIPInboundRoutingRule(ctx context.Context, request *CreateSIPInboundRoutingRuleRequest) (*StreamResponse[SIPInboundRoutingRuleResponse], error)
- func (c *VideoClient) CreateSIPTrunk(ctx context.Context, request *CreateSIPTrunkRequest) (*StreamResponse[CreateSIPTrunkResponse], error)
- func (c *VideoClient) DeleteCall(ctx context.Context, _type string, id string, request *DeleteCallRequest) (*StreamResponse[DeleteCallResponse], error)
- func (c *VideoClient) DeleteCallType(ctx context.Context, name string, request *DeleteCallTypeRequest) (*StreamResponse[Response], error)
- func (c *VideoClient) DeleteRecording(ctx context.Context, _type string, id string, session string, filename string, ...) (*StreamResponse[DeleteRecordingResponse], error)
- func (c *VideoClient) DeleteSIPInboundRoutingRule(ctx context.Context, id string, request *DeleteSIPInboundRoutingRuleRequest) (*StreamResponse[DeleteSIPInboundRoutingRuleResponse], error)
- func (c *VideoClient) DeleteSIPTrunk(ctx context.Context, id string, request *DeleteSIPTrunkRequest) (*StreamResponse[DeleteSIPTrunkResponse], error)
- func (c *VideoClient) DeleteTranscription(ctx context.Context, _type string, id string, session string, filename string, ...) (*StreamResponse[DeleteTranscriptionResponse], error)
- func (c *VideoClient) EndCall(ctx context.Context, _type string, id string, request *EndCallRequest) (*StreamResponse[EndCallResponse], error)
- func (c *VideoClient) GetActiveCallsStatus(ctx context.Context, request *GetActiveCallsStatusRequest) (*StreamResponse[GetActiveCallsStatusResponse], error)
- func (c *VideoClient) GetCall(ctx context.Context, _type string, id string, request *GetCallRequest) (*StreamResponse[GetCallResponse], error)
- func (c *VideoClient) GetCallParticipantSessionMetrics(ctx context.Context, _type string, id string, session string, user string, ...) (*StreamResponse[GetCallParticipantSessionMetricsResponse], error)
- func (c *VideoClient) GetCallReport(ctx context.Context, _type string, id string, request *GetCallReportRequest) (*StreamResponse[GetCallReportResponse], error)
- func (c *VideoClient) GetCallSessionParticipantStatsDetails(ctx context.Context, callType string, callID string, session string, ...) (*StreamResponse[GetCallSessionParticipantStatsDetailsResponse], error)
- func (c *VideoClient) GetCallSessionParticipantStatsTimeline(ctx context.Context, callType string, callID string, session string, ...) (*StreamResponse[QueryCallSessionParticipantStatsTimelineResponse], error)
- func (c *VideoClient) GetCallStatsMap(ctx context.Context, callType string, callID string, session string, ...) (*StreamResponse[QueryCallStatsMapResponse], error)
- func (c *VideoClient) GetCallType(ctx context.Context, name string, request *GetCallTypeRequest) (*StreamResponse[GetCallTypeResponse], error)
- func (c *VideoClient) GetEdges(ctx context.Context, request *GetEdgesRequest) (*StreamResponse[GetEdgesResponse], error)
- func (c *VideoClient) GetOrCreateCall(ctx context.Context, _type string, id string, request *GetOrCreateCallRequest) (*StreamResponse[GetOrCreateCallResponse], error)
- func (c *VideoClient) GoLive(ctx context.Context, _type string, id string, request *GoLiveRequest) (*StreamResponse[GoLiveResponse], error)
- func (c *VideoClient) KickUser(ctx context.Context, _type string, id string, request *KickUserRequest) (*StreamResponse[KickUserResponse], error)
- func (c *VideoClient) ListCallTypes(ctx context.Context, request *ListCallTypesRequest) (*StreamResponse[ListCallTypeResponse], error)
- func (c *VideoClient) ListRecordings(ctx context.Context, _type string, id string, request *ListRecordingsRequest) (*StreamResponse[ListRecordingsResponse], error)
- func (c *VideoClient) ListSIPInboundRoutingRule(ctx context.Context, request *ListSIPInboundRoutingRuleRequest) (*StreamResponse[ListSIPInboundRoutingRuleResponse], error)
- func (c *VideoClient) ListSIPTrunks(ctx context.Context, request *ListSIPTrunksRequest) (*StreamResponse[ListSIPTrunksResponse], error)
- func (c *VideoClient) ListTranscriptions(ctx context.Context, _type string, id string, ...) (*StreamResponse[ListTranscriptionsResponse], error)
- func (c *VideoClient) MuteUsers(ctx context.Context, _type string, id string, request *MuteUsersRequest) (*StreamResponse[MuteUsersResponse], error)
- func (c *VideoClient) QueryAggregateCallStats(ctx context.Context, request *QueryAggregateCallStatsRequest) (*StreamResponse[QueryAggregateCallStatsResponse], error)
- func (c *VideoClient) QueryCallMembers(ctx context.Context, request *QueryCallMembersRequest) (*StreamResponse[QueryCallMembersResponse], error)
- func (c *VideoClient) QueryCallParticipantSessions(ctx context.Context, _type string, id string, session string, ...) (*StreamResponse[QueryCallParticipantSessionsResponse], error)
- func (c *VideoClient) QueryCallParticipants(ctx context.Context, id string, _type string, ...) (*StreamResponse[QueryCallParticipantsResponse], error)
- func (c *VideoClient) QueryCallSessionParticipantStats(ctx context.Context, callType string, callID string, session string, ...) (*StreamResponse[QueryCallSessionParticipantStatsResponse], error)
- func (c *VideoClient) QueryCallStats(ctx context.Context, request *QueryCallStatsRequest) (*StreamResponse[QueryCallStatsResponse], error)
- func (c *VideoClient) QueryCalls(ctx context.Context, request *QueryCallsRequest) (*StreamResponse[QueryCallsResponse], error)
- func (c *VideoClient) QueryUserFeedback(ctx context.Context, request *QueryUserFeedbackRequest) (*StreamResponse[QueryUserFeedbackResponse], error)
- func (c *VideoClient) ResolveSipInbound(ctx context.Context, request *ResolveSipInboundRequest) (*StreamResponse[ResolveSipInboundResponse], error)
- func (c *VideoClient) RingCall(ctx context.Context, _type string, id string, request *RingCallRequest) (*StreamResponse[RingCallResponse], error)
- func (c *VideoClient) SendCallEvent(ctx context.Context, _type string, id string, request *SendCallEventRequest) (*StreamResponse[SendCallEventResponse], error)
- func (c *VideoClient) SendClosedCaption(ctx context.Context, _type string, id string, ...) (*StreamResponse[SendClosedCaptionResponse], error)
- func (c *VideoClient) StartClosedCaptions(ctx context.Context, _type string, id string, ...) (*StreamResponse[StartClosedCaptionsResponse], error)
- func (c *VideoClient) StartFrameRecording(ctx context.Context, _type string, id string, ...) (*StreamResponse[StartFrameRecordingResponse], error)
- func (c *VideoClient) StartHLSBroadcasting(ctx context.Context, _type string, id string, ...) (*StreamResponse[StartHLSBroadcastingResponse], error)
- func (c *VideoClient) StartRTMPBroadcasts(ctx context.Context, _type string, id string, ...) (*StreamResponse[StartRTMPBroadcastsResponse], error)
- func (c *VideoClient) StartRecording(ctx context.Context, _type string, id string, recordingType string, ...) (*StreamResponse[StartRecordingResponse], error)
- func (c *VideoClient) StartTranscription(ctx context.Context, _type string, id string, ...) (*StreamResponse[StartTranscriptionResponse], error)
- func (c *VideoClient) StopAllRTMPBroadcasts(ctx context.Context, _type string, id string, ...) (*StreamResponse[StopAllRTMPBroadcastsResponse], error)
- func (c *VideoClient) StopClosedCaptions(ctx context.Context, _type string, id string, ...) (*StreamResponse[StopClosedCaptionsResponse], error)
- func (c *VideoClient) StopFrameRecording(ctx context.Context, _type string, id string, ...) (*StreamResponse[StopFrameRecordingResponse], error)
- func (c *VideoClient) StopHLSBroadcasting(ctx context.Context, _type string, id string, ...) (*StreamResponse[StopHLSBroadcastingResponse], error)
- func (c *VideoClient) StopLive(ctx context.Context, _type string, id string, request *StopLiveRequest) (*StreamResponse[StopLiveResponse], error)
- func (c *VideoClient) StopRTMPBroadcast(ctx context.Context, _type string, id string, name string, ...) (*StreamResponse[StopRTMPBroadcastsResponse], error)
- func (c *VideoClient) StopRecording(ctx context.Context, _type string, id string, recordingType string, ...) (*StreamResponse[StopRecordingResponse], error)
- func (c *VideoClient) StopTranscription(ctx context.Context, _type string, id string, ...) (*StreamResponse[StopTranscriptionResponse], error)
- func (c *VideoClient) UnblockUser(ctx context.Context, _type string, id string, request *UnblockUserRequest) (*StreamResponse[UnblockUserResponse], error)
- func (c *VideoClient) UpdateCall(ctx context.Context, _type string, id string, request *UpdateCallRequest) (*StreamResponse[UpdateCallResponse], error)
- func (c *VideoClient) UpdateCallMembers(ctx context.Context, _type string, id string, ...) (*StreamResponse[UpdateCallMembersResponse], error)
- func (c *VideoClient) UpdateCallType(ctx context.Context, name string, request *UpdateCallTypeRequest) (*StreamResponse[UpdateCallTypeResponse], error)
- func (c *VideoClient) UpdateSIPInboundRoutingRule(ctx context.Context, id string, request *UpdateSIPInboundRoutingRuleRequest) (*StreamResponse[UpdateSIPInboundRoutingRuleResponse], error)
- func (c *VideoClient) UpdateSIPTrunk(ctx context.Context, id string, request *UpdateSIPTrunkRequest) (*StreamResponse[UpdateSIPTrunkResponse], error)
- func (c *VideoClient) UpdateUserPermissions(ctx context.Context, _type string, id string, ...) (*StreamResponse[UpdateUserPermissionsResponse], error)
- func (c *VideoClient) VideoPin(ctx context.Context, _type string, id string, request *VideoPinRequest) (*StreamResponse[PinResponse], error)
- func (c *VideoClient) VideoUnpin(ctx context.Context, _type string, id string, request *VideoUnpinRequest) (*StreamResponse[UnpinResponse], error)
- type VideoContentParameters
- type VideoEndCallRequestPayload
- type VideoKickUserRequestPayload
- type VideoPinRequest
- type VideoReactionOverTimeResponse
- type VideoReactionResponse
- type VideoReactionsResponse
- type VideoRuleParameters
- type VideoSettings
- type VideoSettingsRequest
- type VideoSettingsResponse
- type VideoUnpinRequest
- type VoteData
- type WHEvent
- type WHIPIngress
- type WSEvent
- type WebhookEvent
- type WrappedUnreadCountsResponse
- type XiaomiConfig
- type XiaomiConfigFields
Constants ΒΆ
const ( EnvStreamApiKey = "STREAM_API_KEY" EnvStreamApiSecret = "STREAM_API_SECRET" EnvStreamBaseUrl = "STREAM_BASE_URL" EnvStreamHttpTimeout = "STREAM_HTTP_TIMEOUT" )
const ( HeaderRateLimit = "X-Ratelimit-Limit" HeaderRateRemaining = "X-Ratelimit-Remaining" HeaderRateReset = "X-Ratelimit-Reset" )
const ( EventTypeWildcard = "*" EventTypeAppealAccepted = "appeal.accepted" EventTypeAppealCreated = "appeal.created" EventTypeAppealRejected = "appeal.rejected" EventTypeCallAccepted = "call.accepted" EventTypeCallBlockedUser = "call.blocked_user" EventTypeCallClosedCaption = "call.closed_caption" EventTypeCallClosedCaptionsFailed = "call.closed_captions_failed" EventTypeCallClosedCaptionsStarted = "call.closed_captions_started" EventTypeCallClosedCaptionsStopped = "call.closed_captions_stopped" EventTypeCallCreated = "call.created" EventTypeCallDeleted = "call.deleted" EventTypeCallDtmf = "call.dtmf" EventTypeCallEnded = "call.ended" EventTypeCallFrameRecordingFailed = "call.frame_recording_failed" EventTypeCallFrameRecordingReady = "call.frame_recording_ready" EventTypeCallFrameRecordingStarted = "call.frame_recording_started" EventTypeCallFrameRecordingStopped = "call.frame_recording_stopped" EventTypeCallHLSBroadcastingFailed = "call.hls_broadcasting_failed" EventTypeCallHLSBroadcastingStarted = "call.hls_broadcasting_started" EventTypeCallHLSBroadcastingStopped = "call.hls_broadcasting_stopped" EventTypeCallKickedUser = "call.kicked_user" EventTypeCallLiveStarted = "call.live_started" EventTypeCallMemberAdded = "call.member_added" EventTypeCallMemberRemoved = "call.member_removed" EventTypeCallMemberUpdated = "call.member_updated" EventTypeCallMemberUpdatedPermission = "call.member_updated_permission" EventTypeCallMissed = "call.missed" EventTypeCallModerationBlur = "call.moderation_blur" EventTypeCallModerationWarning = "call.moderation_warning" EventTypeCallNotification = "call.notification" EventTypeCallPermissionRequest = "call.permission_request" EventTypeCallPermissionsUpdated = "call.permissions_updated" EventTypeCallReactionNew = "call.reaction_new" EventTypeCallRecordingFailed = "call.recording_failed" EventTypeCallRecordingReady = "call.recording_ready" EventTypeCallRecordingStarted = "call.recording_started" EventTypeCallRecordingStopped = "call.recording_stopped" EventTypeCallRejected = "call.rejected" EventTypeCallRing = "call.ring" EventTypeCallRTMPBroadcastFailed = "call.rtmp_broadcast_failed" EventTypeCallRTMPBroadcastStarted = "call.rtmp_broadcast_started" EventTypeCallRTMPBroadcastStopped = "call.rtmp_broadcast_stopped" EventTypeCallSessionEnded = "call.session_ended" EventTypeCallSessionParticipantCountUpdated = "call.session_participant_count_updated" EventTypeCallSessionParticipantJoined = "call.session_participant_joined" EventTypeCallSessionParticipantLeft = "call.session_participant_left" EventTypeCallSessionStarted = "call.session_started" EventTypeCallStatsReportReady = "call.stats_report_ready" EventTypeCallTranscriptionFailed = "call.transcription_failed" EventTypeCallTranscriptionReady = "call.transcription_ready" EventTypeCallTranscriptionStarted = "call.transcription_started" EventTypeCallTranscriptionStopped = "call.transcription_stopped" EventTypeCallUnblockedUser = "call.unblocked_user" EventTypeCallUpdated = "call.updated" EventTypeCallUserFeedbackSubmitted = "call.user_feedback_submitted" EventTypeCallUserMuted = "call.user_muted" EventTypeCampaignCompleted = "campaign.completed" EventTypeCampaignStarted = "campaign.started" EventTypeChannelCreated = "channel.created" EventTypeChannelDeleted = "channel.deleted" EventTypeChannelFrozen = "channel.frozen" EventTypeChannelHidden = "channel.hidden" EventTypeChannelMaxStreakChanged = "channel.max_streak_changed" EventTypeChannelMuted = "channel.muted" EventTypeChannelTruncated = "channel.truncated" EventTypeChannelUnfrozen = "channel.unfrozen" EventTypeChannelUnmuted = "channel.unmuted" EventTypeChannelUpdated = "channel.updated" EventTypeChannelVisible = "channel.visible" EventTypeChannelBatchUpdateCompleted = "channel_batch_update.completed" EventTypeChannelBatchUpdateStarted = "channel_batch_update.started" EventTypeCustom = "custom" EventTypeExportBulkImageModerationError = "export.bulk_image_moderation.error" EventTypeExportBulkImageModerationSuccess = "export.bulk_image_moderation.success" EventTypeExportChannelsError = "export.channels.error" EventTypeExportChannelsSuccess = "export.channels.success" EventTypeExportModerationLogsError = "export.moderation_logs.error" EventTypeExportModerationLogsSuccess = "export.moderation_logs.success" EventTypeExportUsersError = "export.users.error" EventTypeExportUsersSuccess = "export.users.success" EventTypeFeedsActivityAdded = "feeds.activity.added" EventTypeFeedsActivityDeleted = "feeds.activity.deleted" EventTypeFeedsActivityFeedback = "feeds.activity.feedback" EventTypeFeedsActivityMarked = "feeds.activity.marked" EventTypeFeedsActivityPinned = "feeds.activity.pinned" EventTypeFeedsActivityReactionAdded = "feeds.activity.reaction.added" EventTypeFeedsActivityReactionDeleted = "feeds.activity.reaction.deleted" EventTypeFeedsActivityReactionUpdated = "feeds.activity.reaction.updated" EventTypeFeedsActivityRemovedFromFeed = "feeds.activity.removed_from_feed" EventTypeFeedsActivityRestored = "feeds.activity.restored" EventTypeFeedsActivityUnpinned = "feeds.activity.unpinned" EventTypeFeedsActivityUpdated = "feeds.activity.updated" EventTypeFeedsBookmarkAdded = "feeds.bookmark.added" EventTypeFeedsBookmarkDeleted = "feeds.bookmark.deleted" EventTypeFeedsBookmarkUpdated = "feeds.bookmark.updated" EventTypeFeedsBookmarkFolderDeleted = "feeds.bookmark_folder.deleted" EventTypeFeedsBookmarkFolderUpdated = "feeds.bookmark_folder.updated" EventTypeFeedsCommentAdded = "feeds.comment.added" EventTypeFeedsCommentDeleted = "feeds.comment.deleted" EventTypeFeedsCommentReactionAdded = "feeds.comment.reaction.added" EventTypeFeedsCommentReactionDeleted = "feeds.comment.reaction.deleted" EventTypeFeedsCommentReactionUpdated = "feeds.comment.reaction.updated" EventTypeFeedsCommentUpdated = "feeds.comment.updated" EventTypeFeedsFeedCreated = "feeds.feed.created" EventTypeFeedsFeedDeleted = "feeds.feed.deleted" EventTypeFeedsFeedUpdated = "feeds.feed.updated" EventTypeFeedsFeedGroupChanged = "feeds.feed_group.changed" EventTypeFeedsFeedGroupDeleted = "feeds.feed_group.deleted" EventTypeFeedsFeedGroupRestored = "feeds.feed_group.restored" EventTypeFeedsFeedMemberAdded = "feeds.feed_member.added" EventTypeFeedsFeedMemberRemoved = "feeds.feed_member.removed" EventTypeFeedsFeedMemberUpdated = "feeds.feed_member.updated" EventTypeFeedsFollowCreated = "feeds.follow.created" EventTypeFeedsFollowDeleted = "feeds.follow.deleted" EventTypeFeedsFollowUpdated = "feeds.follow.updated" EventTypeFeedsNotificationFeedUpdated = "feeds.notification_feed.updated" EventTypeFeedsStoriesFeedUpdated = "feeds.stories_feed.updated" EventTypeFlagUpdated = "flag.updated" EventTypeIngressError = "ingress.error" EventTypeIngressStarted = "ingress.started" EventTypeIngressStopped = "ingress.stopped" EventTypeMemberAdded = "member.added" EventTypeMemberRemoved = "member.removed" EventTypeMemberUpdated = "member.updated" EventTypeMessageDeleted = "message.deleted" EventTypeMessageFlagged = "message.flagged" EventTypeMessageNew = "message.new" EventTypeMessagePending = "message.pending" EventTypeMessageRead = "message.read" EventTypeMessageUnblocked = "message.unblocked" EventTypeMessageUndeleted = "message.undeleted" EventTypeMessageUpdated = "message.updated" EventTypeModerationCustomAction = "moderation.custom_action" EventTypeModerationFlagged = "moderation.flagged" EventTypeModerationMarkReviewed = "moderation.mark_reviewed" EventTypeModerationCheckCompleted = "moderation_check.completed" EventTypeModerationRuleTriggered = "moderation_rule.triggered" EventTypeNotificationMarkUnread = "notification.mark_unread" EventTypeNotificationReminderDue = "notification.reminder_due" EventTypeNotificationThreadMessageNew = "notification.thread_message_new" EventTypeReactionDeleted = "reaction.deleted" EventTypeReactionNew = "reaction.new" EventTypeReactionUpdated = "reaction.updated" EventTypeReminderCreated = "reminder.created" EventTypeReminderDeleted = "reminder.deleted" EventTypeReminderUpdated = "reminder.updated" EventTypeReviewQueueItemNew = "review_queue_item.new" EventTypeReviewQueueItemUpdated = "review_queue_item.updated" EventTypeThreadUpdated = "thread.updated" EventTypeUserBanned = "user.banned" EventTypeUserDeactivated = "user.deactivated" EventTypeUserDeleted = "user.deleted" EventTypeUserFlagged = "user.flagged" EventTypeUserMessagesDeleted = "user.messages.deleted" EventTypeUserMuted = "user.muted" EventTypeUserReactivated = "user.reactivated" EventTypeUserUnbanned = "user.unbanned" EventTypeUserUnmuted = "user.unmuted" EventTypeUserUnreadMessageReminder = "user.unread_message_reminder" EventTypeUserUpdated = "user.updated" EventTypeUserGroupCreated = "user_group.created" EventTypeUserGroupDeleted = "user_group.deleted" EventTypeUserGroupMemberAdded = "user_group.member_added" EventTypeUserGroupMemberRemoved = "user_group.member_removed" EventTypeUserGroupUpdated = "user_group.updated" )
Webhook event type constants
const ( // DefaultBaseURL is the default base URL for the stream chat api. // It works like CDN style and connects you to the closest production server. // By default, there is no real reason to change it. Use it only if you know what you are doing. DefaultBaseURL = "https://chat.stream-io-api.com" )
Variables ΒΆ
var WebhookEventKey = webhookEventKeyType{}
WebhookEventKey is the context key for accessing the parsed webhook event. The underlying type webhookEventKeyType is unexported to prevent collisions.
Functions ΒΆ
func EncodeValueToQueryParam ΒΆ
EncodeValueToQueryParam returns the string representation of a value ready to be used as a query param
func GetEventType ΒΆ
GetEventType extracts the event type from a raw webhook payload. This is useful for routing webhooks before full deserialization.
Example:
eventType := getstream.GetEventType(body)
switch eventType {
case "message.new":
// handle message.new
}
func StructToMapWithTags ΒΆ
func VerifyWebhookSignature ΒΆ
VerifyWebhookSignature verifies the HMAC-SHA256 signature of a webhook payload. This function should be used to verify that webhook requests are authentically from Stream.
Parameters:
- body: The raw request body bytes
- signature: The signature from the X-Signature header
- secret: Your webhook secret (found in the Stream Dashboard)
Returns true if the signature is valid, false otherwise.
Example usage:
func webhookHandler(w http.ResponseWriter, r *http.Request) {
body, _ := io.ReadAll(r.Body)
signature := r.Header.Get("X-Signature")
secret := os.Getenv("STREAM_WEBHOOK_SECRET")
if !getstream.VerifyWebhookSignature(body, signature, secret) {
http.Error(w, "Invalid signature", http.StatusForbidden)
return
}
// Process webhook...
}
func WebhookMiddleware ΒΆ
WebhookMiddleware creates middleware that verifies signatures and parses webhook events. The parsed event is available in your handler via r.Context().
Example:
mux := http.NewServeMux()
mux.HandleFunc("/webhook", func(w http.ResponseWriter, r *http.Request) {
event := r.Context().Value(getstream.WebhookEventKey)
switch e := event.(type) {
case *getstream.MessageNewEvent:
// Handle event...
}
w.WriteHeader(http.StatusOK)
})
http.Handle("/webhook", getstream.WebhookMiddleware(secret)(mux))
Types ΒΆ
type AIImageConfig ΒΆ
type AIImageConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
OcrRules []OCRRule `json:"ocr_rules,omitempty"`
Rules []AWSRekognitionRule `json:"rules,omitempty"`
}
type AITextConfig ΒΆ
type AITextConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Profile *string `json:"profile,omitempty"`
Rules []BodyguardRule `json:"rules,omitempty"`
SeverityRules []BodyguardSeverityRule `json:"severity_rules,omitempty"`
}
type AIVideoConfig ΒΆ
type AIVideoConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Rules []AWSRekognitionRule `json:"rules,omitempty"`
}
type APIError ΒΆ
type APIError struct {
// API error code
Code int `json:"code"`
// Request duration
Duration string `json:"duration"`
// Message describing an error
Message string `json:"message"`
// URL with additional information
MoreInfo string `json:"more_info"`
// Response HTTP status code
StatusCode int `json:"StatusCode"`
// Additional error-specific information
Details []int `json:"details"`
// Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it
Unrecoverable *bool `json:"unrecoverable,omitempty"`
// Additional error info
ExceptionFields map[string]string `json:"exception_fields,omitempty"`
}
type APNConfig ΒΆ
type APNConfig struct {
AuthKey *string `json:"auth_key,omitempty"`
AuthType *string `json:"auth_type,omitempty"`
BundleID *string `json:"bundle_id,omitempty"`
Development *bool `json:"development,omitempty"`
Disabled *bool `json:"Disabled,omitempty"`
Host *string `json:"host,omitempty"`
KeyID *string `json:"key_id,omitempty"`
NotificationTemplate *string `json:"notification_template,omitempty"`
P12Cert *string `json:"p12_cert,omitempty"`
TeamID *string `json:"team_id,omitempty"`
}
type APNConfigFields ΒΆ
type APNConfigFields struct {
Development bool `json:"development"`
Enabled bool `json:"enabled"`
AuthKey *string `json:"auth_key,omitempty"`
AuthType *string `json:"auth_type,omitempty"`
BundleID *string `json:"bundle_id,omitempty"`
Host *string `json:"host,omitempty"`
KeyID *string `json:"key_id,omitempty"`
NotificationTemplate *string `json:"notification_template,omitempty"`
P12Cert *string `json:"p12_cert,omitempty"`
TeamID *string `json:"team_id,omitempty"`
}
type APNSPayload ΒΆ
type APNSPayload struct {
Body *string `json:"body,omitempty"`
ContentAvailable *int `json:"content-available,omitempty"`
MutableContent *int `json:"mutable-content,omitempty"`
Sound *string `json:"sound,omitempty"`
Title *string `json:"title,omitempty"`
Data map[string]any `json:"data,omitempty"`
}
type AWSRekognitionRule ΒΆ
type AcceptFeedMemberInviteRequest ΒΆ
type AcceptFeedMemberInviteRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type AcceptFeedMemberInviteResponse ΒΆ
type AcceptFeedMemberInviteResponse struct {
Duration string `json:"duration"`
Member FeedMemberResponse `json:"member"`
}
type AcceptFollowRequest ΒΆ
type AcceptFollowResponse ΒΆ
type AcceptFollowResponse struct {
Duration string `json:"duration"`
Follow FollowResponse `json:"follow"`
}
type ActionLogResponse ΒΆ
type ActionLogResponse struct {
// Timestamp when the action was taken
CreatedAt Timestamp `json:"created_at"`
// Unique identifier of the action log
ID string `json:"id"`
// Reason for the moderation action
Reason string `json:"reason"`
// ID of the user who was the target of the action
TargetUserID string `json:"target_user_id"`
// ID of the user who performed the action
UserID string `json:"user_id"`
// Type of moderation action
Type string `json:"type"`
AiProviders []string `json:"ai_providers"`
// Additional metadata about the action
Custom map[string]any `json:"custom"`
ReviewQueueItem *ReviewQueueItemResponse `json:"review_queue_item,omitempty"`
TargetUser *UserResponse `json:"target_user,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ActionSequence ΒΆ
type ActionSequence struct {
Action *string `json:"action,omitempty"`
Blur *bool `json:"blur,omitempty"`
CooldownPeriod *int `json:"cooldown_period,omitempty"`
Threshold *int `json:"threshold,omitempty"`
TimeWindow *int `json:"time_window,omitempty"`
Warning *bool `json:"warning,omitempty"`
WarningText *string `json:"warning_text,omitempty"`
}
type ActiveCallsFPSStats ΒΆ
type ActiveCallsMetrics ΒΆ
type ActiveCallsMetrics struct {
JoinCallAPI *JoinCallAPIMetrics `json:"join_call_api,omitempty"`
Publishers *PublishersMetrics `json:"publishers,omitempty"`
Subscribers *SubscribersMetrics `json:"subscribers,omitempty"`
}
type ActiveCallsSummary ΒΆ
type ActivityAddedEvent ΒΆ
type ActivityAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.activity.added" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is added to a feed.
func (*ActivityAddedEvent) GetEventType ΒΆ
func (e *ActivityAddedEvent) GetEventType() string
type ActivityDeletedEvent ΒΆ
type ActivityDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.activity.deleted" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is deleted.
func (*ActivityDeletedEvent) GetEventType ΒΆ
func (e *ActivityDeletedEvent) GetEventType() string
type ActivityFeedbackEvent ΒΆ
type ActivityFeedbackEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
ActivityFeedback ActivityFeedbackEventPayload `json:"activity_feedback"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.activity.feedback" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when activity feedback is provided.
func (*ActivityFeedbackEvent) GetEventType ΒΆ
func (e *ActivityFeedbackEvent) GetEventType() string
type ActivityFeedbackEventPayload ΒΆ
type ActivityFeedbackEventPayload struct {
// The type of feedback action. One of: hide, show_more, show_less
Action string `json:"action"`
// The activity that received feedback
ActivityID string `json:"activity_id"`
// When the feedback was created
CreatedAt Timestamp `json:"created_at"`
// When the feedback was last updated
UpdatedAt Timestamp `json:"updated_at"`
// The feedback value (true/false)
Value string `json:"value"`
User UserResponse `json:"user"`
}
type ActivityFeedbackRequest ΒΆ
type ActivityFeedbackRequest struct {
Hide *bool `json:"hide"`
ShowLess *bool `json:"show_less"`
ShowMore *bool `json:"show_more"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type ActivityFeedbackResponse ΒΆ
type ActivityFeedbackResponse struct {
// The ID of the activity that received feedback
ActivityID string `json:"activity_id"`
Duration string `json:"duration"`
}
Response for activity feedback submission
type ActivityLocation ΒΆ
type ActivityMarkEvent ΒΆ
type ActivityMarkEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.activity.marked" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
// Whether all activities were marked as read
MarkAllRead *bool `json:"mark_all_read,omitempty"`
// Whether all activities were marked as seen
MarkAllSeen *bool `json:"mark_all_seen,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The IDs of activities marked as read
MarkRead []string `json:"mark_read,omitempty"`
// The IDs of activities marked as seen
MarkSeen []string `json:"mark_seen,omitempty"`
// The IDs of activities marked as watched
MarkWatched []string `json:"mark_watched,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when activities are marked as read, seen, or watched.
func (*ActivityMarkEvent) GetEventType ΒΆ
func (e *ActivityMarkEvent) GetEventType() string
type ActivityPinResponse ΒΆ
type ActivityPinResponse struct {
// When the pin was created
CreatedAt Timestamp `json:"created_at"`
// ID of the feed where activity is pinned
Feed string `json:"feed"`
// When the pin was last updated
UpdatedAt Timestamp `json:"updated_at"`
Activity ActivityResponse `json:"activity"`
User UserResponse `json:"user"`
}
type ActivityPinnedEvent ΒΆ
type ActivityPinnedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the feed
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
PinnedActivity PinActivityResponse `json:"pinned_activity"`
// The type of event: "feeds.activity.pinned" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is pinned.
func (*ActivityPinnedEvent) GetEventType ΒΆ
func (e *ActivityPinnedEvent) GetEventType() string
type ActivityProcessorConfig ΒΆ
type ActivityProcessorConfig struct {
// Type of activity processor (required)
Type string `json:"type"`
}
type ActivityReactionAddedEvent ΒΆ
type ActivityReactionAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of event: "feeds.activity.reaction.added" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is added to an activity.
func (*ActivityReactionAddedEvent) GetEventType ΒΆ
func (e *ActivityReactionAddedEvent) GetEventType() string
type ActivityReactionDeletedEvent ΒΆ
type ActivityReactionDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of the reaction that was removed
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is deleted from an activity.
func (*ActivityReactionDeletedEvent) GetEventType ΒΆ
func (e *ActivityReactionDeletedEvent) GetEventType() string
type ActivityReactionUpdatedEvent ΒΆ
type ActivityReactionUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of event: "feeds.activity.reaction.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is updated on an activity.
func (*ActivityReactionUpdatedEvent) GetEventType ΒΆ
func (e *ActivityReactionUpdatedEvent) GetEventType() string
type ActivityRemovedFromFeedEvent ΒΆ
type ActivityRemovedFromFeedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.activity.removed_from_feed" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is removed from a feed.
func (*ActivityRemovedFromFeedEvent) GetEventType ΒΆ
func (e *ActivityRemovedFromFeedEvent) GetEventType() string
type ActivityRequest ΒΆ
type ActivityRequest struct {
// Type of activity
Type string `json:"type"`
// List of feeds to add the activity to with a default max limit of 25 feeds
Feeds []string `json:"feeds"`
// Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
CopyCustomToNotification *bool `json:"copy_custom_to_notification,omitempty"`
// Whether to create notification activities for mentioned users
CreateNotificationActivity *bool `json:"create_notification_activity,omitempty"`
// Expiration time for the activity
ExpiresAt *string `json:"expires_at,omitempty"`
// Optional ID for the activity
ID *string `json:"id,omitempty"`
// ID of parent activity for replies/comments
ParentID *string `json:"parent_id,omitempty"`
// ID of a poll to attach to activity
PollID *string `json:"poll_id,omitempty"`
// Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
RestrictReplies *string `json:"restrict_replies,omitempty"`
// Whether to skip URL enrichment for the activity
SkipEnrichUrl *bool `json:"skip_enrich_url,omitempty"`
// Whether to skip push notifications
SkipPush *bool `json:"skip_push,omitempty"`
// Text content of the activity
Text *string `json:"text,omitempty"`
// ID of the user creating the activity
UserID *string `json:"user_id,omitempty"`
// Visibility setting for the activity. One of: public, private, tag
Visibility *string `json:"visibility,omitempty"`
// If visibility is 'tag', this is the tag name and is required
VisibilityTag *string `json:"visibility_tag,omitempty"`
// List of attachments for the activity
Attachments []Attachment `json:"attachments,omitempty"`
// Collections that this activity references
CollectionRefs []string `json:"collection_refs,omitempty"`
// Tags for filtering activities
FilterTags []string `json:"filter_tags,omitempty"`
// Tags for indicating user interests
InterestTags []string `json:"interest_tags,omitempty"`
// List of users mentioned in the activity
MentionedUserIds []string `json:"mentioned_user_ids,omitempty"`
// Custom data for the activity
Custom map[string]any `json:"custom,omitempty"`
Location *ActivityLocation `json:"location,omitempty"`
// Additional data for search indexing
SearchData map[string]any `json:"search_data,omitempty"`
}
type ActivityResponse ΒΆ
type ActivityResponse struct {
// Number of bookmarks on the activity
BookmarkCount int `json:"bookmark_count"`
// Number of comments on the activity
CommentCount int `json:"comment_count"`
// When the activity was created
CreatedAt Timestamp `json:"created_at"`
// If this activity is hidden by this user (using activity feedback)
Hidden bool `json:"hidden"`
// Unique identifier for the activity
ID string `json:"id"`
// Popularity score of the activity
Popularity int `json:"popularity"`
// If this activity is obfuscated for this user. For premium content where you want to show a preview
Preview bool `json:"preview"`
// Number of reactions to the activity
ReactionCount int `json:"reaction_count"`
// Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
RestrictReplies string `json:"restrict_replies"`
// Ranking score for this activity
Score float64 `json:"score"`
ShareCount int `json:"share_count"`
// When the activity was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Visibility setting for the activity. One of: public, private, tag
Visibility string `json:"visibility"`
// Type of activity
Type string `json:"type"`
// Media attachments for the activity
Attachments []Attachment `json:"attachments"`
// Latest 5 comments of this activity (comment replies excluded)
Comments []CommentResponse `json:"comments"`
// List of feed IDs containing this activity
Feeds []string `json:"feeds"`
// Tags for filtering
FilterTags []string `json:"filter_tags"`
// Tags for user interests
InterestTags []string `json:"interest_tags"`
// Recent reactions to the activity
LatestReactions []FeedsReactionResponse `json:"latest_reactions"`
// Users mentioned in the activity
MentionedUsers []UserResponse `json:"mentioned_users"`
// Current user's bookmarks for this activity
OwnBookmarks []BookmarkResponse `json:"own_bookmarks"`
// Current user's reactions to this activity
OwnReactions []FeedsReactionResponse `json:"own_reactions"`
// Enriched collection data referenced by this activity
Collections map[string]EnrichedCollectionResponse `json:"collections"`
// Custom data for the activity
Custom map[string]any `json:"custom"`
// Grouped reactions by type
ReactionGroups map[string]FeedsReactionGroupResponse `json:"reaction_groups"`
// Data for search indexing
SearchData map[string]any `json:"search_data"`
User UserResponse `json:"user"`
// When the activity was deleted
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// When the activity was last edited
EditedAt *Timestamp `json:"edited_at,omitempty"`
// When the activity will expire
ExpiresAt *Timestamp `json:"expires_at,omitempty"`
// Total count of reactions from friends on this activity
FriendReactionCount *int `json:"friend_reaction_count,omitempty"`
IsWatched *bool `json:"is_watched,omitempty"`
ModerationAction *string `json:"moderation_action,omitempty"`
// Which activity selector provided this activity (e.g., 'following', 'popular', 'interest'). Only set when using multiple activity selectors with ranking.
SelectorSource *string `json:"selector_source,omitempty"`
// Text content of the activity
Text *string `json:"text,omitempty"`
// If visibility is 'tag', this is the tag name
VisibilityTag *string `json:"visibility_tag,omitempty"`
// Reactions from users the current user follows or has mutual follows with
FriendReactions []FeedsReactionResponse `json:"friend_reactions,omitempty"`
CurrentFeed *FeedResponse `json:"current_feed,omitempty"`
Location *ActivityLocation `json:"location,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
NotificationContext *NotificationContext `json:"notification_context,omitempty"`
Parent *ActivityResponse `json:"parent,omitempty"`
Poll *PollResponseData `json:"poll,omitempty"`
}
type ActivityRestoredEvent ΒΆ
type ActivityRestoredEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
// The type of the event
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is restored.
func (*ActivityRestoredEvent) GetEventType ΒΆ
func (e *ActivityRestoredEvent) GetEventType() string
type ActivitySelectorConfig ΒΆ
type ActivitySelectorConfig struct {
// Type of selector. One of: popular, proximity, following, current_feed, query, interest, follow_suggestion
Type string `json:"type"`
// Time threshold for activity selection (string). Expected RFC3339 format (e.g., 2006-01-02T15:04:05Z07:00). Cannot be used together with cutoff_window
CutoffTime *string `json:"cutoff_time,omitempty"`
// Flexible relative time window for activity selection (e.g., '1h', '3d', '1y'). Activities older than this duration will be filtered out. Cannot be used together with cutoff_time
CutoffWindow *string `json:"cutoff_window,omitempty"`
// Minimum popularity threshold
MinPopularity *int `json:"min_popularity,omitempty"`
// Sort parameters for activity selection
Sort []SortParamRequest `json:"sort,omitempty"`
// Filter for activity selection
Filter map[string]any `json:"filter,omitempty"`
Params map[string]any `json:"params,omitempty"`
}
type ActivitySelectorConfigResponse ΒΆ
type ActivitySelectorConfigResponse struct {
// Type of selector
Type string `json:"type"`
// Time threshold for activity selection (timestamp)
CutoffTime *Timestamp `json:"cutoff_time,omitempty"`
// Flexible relative time window for activity selection (e.g., '1h', '3d', '1y')
CutoffWindow *string `json:"cutoff_window,omitempty"`
// Minimum popularity threshold
MinPopularity *int `json:"min_popularity,omitempty"`
// Sort parameters for activity selection
Sort []SortParamRequest `json:"sort,omitempty"`
// Filter for activity selection
Filter map[string]any `json:"filter,omitempty"`
// Generic params for selector-specific configuration
Params map[string]any `json:"params,omitempty"`
}
type ActivityUnpinnedEvent ΒΆ
type ActivityUnpinnedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the feed
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
PinnedActivity PinActivityResponse `json:"pinned_activity"`
// The type of event: "feeds.activity.unpinned" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is unpinned.
func (*ActivityUnpinnedEvent) GetEventType ΒΆ
func (e *ActivityUnpinnedEvent) GetEventType() string
type ActivityUpdatedEvent ΒΆ
type ActivityUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Custom map[string]any `json:"custom"`
// The type of the event
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when an activity is updated.
func (*ActivityUpdatedEvent) GetEventType ΒΆ
func (e *ActivityUpdatedEvent) GetEventType() string
type AddActivityReactionRequest ΒΆ
type AddActivityReactionRequest struct {
Type string `json:"type"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
EnforceUnique *bool `json:"enforce_unique"`
SkipPush *bool `json:"skip_push"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type AddActivityRequest ΒΆ
type AddActivityRequest struct {
Type string `json:"type"`
Feeds []string `json:"feeds"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
ExpiresAt *string `json:"expires_at"`
ID *string `json:"id"`
ParentID *string `json:"parent_id"`
PollID *string `json:"poll_id"`
RestrictReplies *string `json:"restrict_replies"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
SkipPush *bool `json:"skip_push"`
Text *string `json:"text"`
UserID *string `json:"user_id"`
Visibility *string `json:"visibility"`
VisibilityTag *string `json:"visibility_tag"`
Attachments []Attachment `json:"attachments"`
CollectionRefs []string `json:"collection_refs"`
FilterTags []string `json:"filter_tags"`
InterestTags []string `json:"interest_tags"`
MentionedUserIds []string `json:"mentioned_user_ids"`
Custom map[string]any `json:"custom"`
Location *ActivityLocation `json:"location"`
SearchData map[string]any `json:"search_data"`
}
type AddActivityResponse ΒΆ
type AddActivityResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
// Number of mention notification activities created for mentioned users
MentionNotificationsCreated *int `json:"mention_notifications_created,omitempty"`
}
type AddBookmarkRequest ΒΆ
type AddBookmarkRequest struct {
FolderID *string `json:"folder_id"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
NewFolder *AddFolderRequest `json:"new_folder"`
User *UserRequest `json:"user"`
}
type AddBookmarkResponse ΒΆ
type AddBookmarkResponse struct {
Duration string `json:"duration"`
Bookmark BookmarkResponse `json:"bookmark"`
}
type AddCommentReactionRequest ΒΆ
type AddCommentReactionRequest struct {
Type string `json:"type"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
EnforceUnique *bool `json:"enforce_unique"`
SkipPush *bool `json:"skip_push"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type AddCommentReactionResponse ΒΆ
type AddCommentReactionResponse struct {
// Duration of the request
Duration string `json:"duration"`
Comment CommentResponse `json:"comment"`
Reaction FeedsReactionResponse `json:"reaction"`
// Whether a notification activity was successfully created
NotificationCreated *bool `json:"notification_created,omitempty"`
}
type AddCommentRequest ΒΆ
type AddCommentRequest struct {
Comment *string `json:"comment"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
ID *string `json:"id"`
ObjectID *string `json:"object_id"`
ObjectType *string `json:"object_type"`
ParentID *string `json:"parent_id"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
SkipPush *bool `json:"skip_push"`
UserID *string `json:"user_id"`
Attachments []Attachment `json:"attachments"`
MentionedUserIds []string `json:"mentioned_user_ids"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type AddCommentResponse ΒΆ
type AddCommentResponse struct {
Duration string `json:"duration"`
Comment CommentResponse `json:"comment"`
// Number of mention notification activities created for mentioned users
MentionNotificationsCreated *int `json:"mention_notifications_created,omitempty"`
// Whether a notification activity was successfully created
NotificationCreated *bool `json:"notification_created,omitempty"`
}
type AddCommentsBatchRequest ΒΆ
type AddCommentsBatchRequest struct {
Comments []AddCommentRequest `json:"comments"`
}
type AddCommentsBatchResponse ΒΆ
type AddCommentsBatchResponse struct {
Duration string `json:"duration"`
// List of comments added
Comments []CommentResponse `json:"comments"`
}
type AddFolderRequest ΒΆ
type AddReactionRequest ΒΆ
type AddReactionRequest struct {
// Type of reaction
Type string `json:"type"`
// Whether to copy custom data to the notification activity (only applies when create_notification_activity is true)
CopyCustomToNotification *bool `json:"copy_custom_to_notification,omitempty"`
// Whether to create a notification activity for this reaction
CreateNotificationActivity *bool `json:"create_notification_activity,omitempty"`
// Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one)
EnforceUnique *bool `json:"enforce_unique,omitempty"`
SkipPush *bool `json:"skip_push,omitempty"`
UserID *string `json:"user_id,omitempty"`
// Custom data for the reaction
Custom map[string]any `json:"custom,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
type AddReactionResponse ΒΆ
type AddReactionResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
Reaction FeedsReactionResponse `json:"reaction"`
// Whether a notification activity was successfully created
NotificationCreated *bool `json:"notification_created,omitempty"`
}
type AddUserGroupMembersResponse ΒΆ
type AddUserGroupMembersResponse struct {
Duration string `json:"duration"`
UserGroup *UserGroupResponse `json:"user_group,omitempty"`
}
Response for adding members to a user group
type AggregatedActivityResponse ΒΆ
type AggregatedActivityResponse struct {
// Number of activities in this aggregation
ActivityCount int `json:"activity_count"`
// When the aggregation was created
CreatedAt Timestamp `json:"created_at"`
// Grouping identifier
Group string `json:"group"`
// Ranking score for this aggregation
Score float64 `json:"score"`
// When the aggregation was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Number of unique users in this aggregation
UserCount int `json:"user_count"`
// Whether this activity group has been truncated due to exceeding the group size limit
UserCountTruncated bool `json:"user_count_truncated"`
// List of activities in this aggregation
Activities []ActivityResponse `json:"activities"`
IsWatched *bool `json:"is_watched,omitempty"`
}
type AggregationConfig ΒΆ
type AggregationConfig struct {
// Format for activity aggregation
Format *string `json:"format,omitempty"`
}
type AppResponseFields ΒΆ
type AppResponseFields struct {
AllowMultiUserDevices bool `json:"allow_multi_user_devices"`
AsyncUrlEnrichEnabled bool `json:"async_url_enrich_enabled"`
AutoTranslationEnabled bool `json:"auto_translation_enabled"`
CampaignEnabled bool `json:"campaign_enabled"`
CdnExpirationSeconds int `json:"cdn_expiration_seconds"`
CustomActionHandlerUrl string `json:"custom_action_handler_url"`
DisableAuthChecks bool `json:"disable_auth_checks"`
DisablePermissionsChecks bool `json:"disable_permissions_checks"`
EnforceUniqueUsernames string `json:"enforce_unique_usernames"`
GuestUserCreationDisabled bool `json:"guest_user_creation_disabled"`
ID int `json:"id"`
ImageModerationEnabled bool `json:"image_moderation_enabled"`
MaxAggregatedActivitiesLength int `json:"max_aggregated_activities_length"`
ModerationAudioCallModerationEnabled bool `json:"moderation_audio_call_moderation_enabled"`
ModerationEnabled bool `json:"moderation_enabled"`
ModerationLlmConfigurabilityEnabled bool `json:"moderation_llm_configurability_enabled"`
ModerationMultitenantBlocklistEnabled bool `json:"moderation_multitenant_blocklist_enabled"`
ModerationVideoCallModerationEnabled bool `json:"moderation_video_call_moderation_enabled"`
ModerationWebhookUrl string `json:"moderation_webhook_url"`
MultiTenantEnabled bool `json:"multi_tenant_enabled"`
Name string `json:"name"`
Organization string `json:"organization"`
PermissionVersion string `json:"permission_version"`
Placement string `json:"placement"`
RemindersInterval int `json:"reminders_interval"`
SnsKey string `json:"sns_key"`
SnsSecret string `json:"sns_secret"`
SnsTopicArn string `json:"sns_topic_arn"`
SqsKey string `json:"sqs_key"`
SqsSecret string `json:"sqs_secret"`
SqsUrl string `json:"sqs_url"`
Suspended bool `json:"suspended"`
SuspendedExplanation string `json:"suspended_explanation"`
UseHookV2 bool `json:"use_hook_v2"`
UserResponseTimeEnabled bool `json:"user_response_time_enabled"`
WebhookUrl string `json:"webhook_url"`
EventHooks []EventHook `json:"event_hooks"`
UserSearchDisallowedRoles []string `json:"user_search_disallowed_roles"`
WebhookEvents []string `json:"webhook_events"`
CallTypes map[string]*CallType `json:"call_types"`
ChannelConfigs map[string]*ChannelConfig `json:"channel_configs"`
FileUploadConfig FileUploadConfig `json:"file_upload_config"`
Grants map[string][]string `json:"grants"`
ImageUploadConfig FileUploadConfig `json:"image_upload_config"`
Policies map[string][]Policy `json:"policies"`
PushNotifications PushNotificationFields `json:"push_notifications"`
BeforeMessageSendHookUrl *string `json:"before_message_send_hook_url,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Geofences []GeofenceResponse `json:"geofences,omitempty"`
ImageModerationLabels []string `json:"image_moderation_labels,omitempty"`
DatadogInfo *DataDogInfo `json:"datadog_info,omitempty"`
ModerationDashboardPreferences *ModerationDashboardPreferences `json:"moderation_dashboard_preferences,omitempty"`
}
type AppealAcceptedEvent ΒΆ
type AppealAcceptedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Appeal *AppealItemResponse `json:"appeal,omitempty"`
}
This event is sent when an appeal is accepted
func (*AppealAcceptedEvent) GetEventType ΒΆ
func (e *AppealAcceptedEvent) GetEventType() string
type AppealCreatedEvent ΒΆ
type AppealCreatedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Appeal *AppealItemResponse `json:"appeal,omitempty"`
}
This event is sent when an appeal is created
func (*AppealCreatedEvent) GetEventType ΒΆ
func (e *AppealCreatedEvent) GetEventType() string
type AppealItemResponse ΒΆ
type AppealItemResponse struct {
// Reason Text of the Appeal Item
AppealReason string `json:"appeal_reason"`
// When the flag was created
CreatedAt Timestamp `json:"created_at"`
// ID of the entity
EntityID string `json:"entity_id"`
// Type of entity
EntityType string `json:"entity_type"`
ID string `json:"id"`
// Status of the Appeal Item
Status string `json:"status"`
// When the flag was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Decision Reason of the Appeal Item
DecisionReason *string `json:"decision_reason,omitempty"`
// Attachments(e.g. Images) of the Appeal Item
Attachments []string `json:"attachments,omitempty"`
EntityContent *ModerationPayload `json:"entity_content,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type AppealRejectedEvent ΒΆ
type AppealRejectedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Appeal *AppealItemResponse `json:"appeal,omitempty"`
}
This event is sent when an appeal is rejected
func (*AppealRejectedEvent) GetEventType ΒΆ
func (e *AppealRejectedEvent) GetEventType() string
type AppealRequest ΒΆ
type AppealResponse ΒΆ
type AsyncBulkImageModerationEvent ΒΆ
type AsyncBulkImageModerationEvent struct {
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
StartedAt Timestamp `json:"started_at"`
TaskID string `json:"task_id"`
Url string `json:"url"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*AsyncBulkImageModerationEvent) GetEventType ΒΆ
func (e *AsyncBulkImageModerationEvent) GetEventType() string
type AsyncExportChannelsEvent ΒΆ
type AsyncExportChannelsEvent struct {
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
StartedAt Timestamp `json:"started_at"`
TaskID string `json:"task_id"`
Url string `json:"url"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*AsyncExportChannelsEvent) GetEventType ΒΆ
func (e *AsyncExportChannelsEvent) GetEventType() string
type AsyncExportErrorEvent ΒΆ
type AsyncExportErrorEvent struct {
CreatedAt Timestamp `json:"created_at"`
Error string `json:"error"`
FinishedAt Timestamp `json:"finished_at"`
StartedAt Timestamp `json:"started_at"`
TaskID string `json:"task_id"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*AsyncExportErrorEvent) GetEventType ΒΆ
func (e *AsyncExportErrorEvent) GetEventType() string
type AsyncExportModerationLogsEvent ΒΆ
type AsyncExportModerationLogsEvent struct {
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
StartedAt Timestamp `json:"started_at"`
TaskID string `json:"task_id"`
Url string `json:"url"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*AsyncExportModerationLogsEvent) GetEventType ΒΆ
func (e *AsyncExportModerationLogsEvent) GetEventType() string
type AsyncExportUsersEvent ΒΆ
type AsyncExportUsersEvent struct {
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
StartedAt Timestamp `json:"started_at"`
TaskID string `json:"task_id"`
Url string `json:"url"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*AsyncExportUsersEvent) GetEventType ΒΆ
func (e *AsyncExportUsersEvent) GetEventType() string
type AsyncModerationConfiguration ΒΆ
type AsyncModerationConfiguration struct {
TimeoutMs *int `json:"timeout_ms,omitempty"`
Callback *AsyncModerationCallbackConfig `json:"callback,omitempty"`
}
type Attachment ΒΆ
type Attachment struct {
Custom map[string]any `json:"custom"`
AssetUrl *string `json:"asset_url,omitempty"`
AuthorIcon *string `json:"author_icon,omitempty"`
AuthorLink *string `json:"author_link,omitempty"`
AuthorName *string `json:"author_name,omitempty"`
Color *string `json:"color,omitempty"`
Fallback *string `json:"fallback,omitempty"`
ImageUrl *string `json:"image_url,omitempty"`
OGScrapeUrl *string `json:"og_scrape_url,omitempty"`
OriginalHeight *int `json:"original_height,omitempty"`
OriginalWidth *int `json:"original_width,omitempty"`
Pretext *string `json:"pretext,omitempty"`
Text *string `json:"text,omitempty"`
ThumbUrl *string `json:"thumb_url,omitempty"`
Title *string `json:"title,omitempty"`
TitleLink *string `json:"title_link,omitempty"`
// Attachment type (e.g. image, video, url)
Type *string `json:"type,omitempty"`
Actions []Action `json:"actions,omitempty"`
Fields []Field `json:"fields,omitempty"`
Giphy *Images `json:"giphy,omitempty"`
}
An attachment is a message object that represents a file uploaded by a user.
type AudioSettings ΒΆ
type AudioSettings struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
DefaultDevice string `json:"default_device"`
HifiAudioEnabled bool `json:"hifi_audio_enabled"`
MicDefaultOn bool `json:"mic_default_on"`
OpusDtxEnabled bool `json:"opus_dtx_enabled"`
RedundantCodingEnabled bool `json:"redundant_coding_enabled"`
SpeakerDefaultOn bool `json:"speaker_default_on"`
NoiseCancellation *NoiseCancellationSettings `json:"noise_cancellation,omitempty"`
}
type AudioSettingsRequest ΒΆ
type AudioSettingsRequest struct {
DefaultDevice string `json:"default_device"`
AccessRequestEnabled *bool `json:"access_request_enabled,omitempty"`
HifiAudioEnabled *bool `json:"hifi_audio_enabled,omitempty"`
MicDefaultOn *bool `json:"mic_default_on,omitempty"`
OpusDtxEnabled *bool `json:"opus_dtx_enabled,omitempty"`
RedundantCodingEnabled *bool `json:"redundant_coding_enabled,omitempty"`
SpeakerDefaultOn *bool `json:"speaker_default_on,omitempty"`
NoiseCancellation *NoiseCancellationSettings `json:"noise_cancellation,omitempty"`
}
type AudioSettingsResponse ΒΆ
type AudioSettingsResponse struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
DefaultDevice string `json:"default_device"`
HifiAudioEnabled bool `json:"hifi_audio_enabled"`
MicDefaultOn bool `json:"mic_default_on"`
OpusDtxEnabled bool `json:"opus_dtx_enabled"`
RedundantCodingEnabled bool `json:"redundant_coding_enabled"`
SpeakerDefaultOn bool `json:"speaker_default_on"`
NoiseCancellation *NoiseCancellationSettings `json:"noise_cancellation,omitempty"`
}
type AutomodDetailsResponse ΒΆ
type AutomodDetailsResponse struct {
Action *string `json:"action,omitempty"`
OriginalMessageType *string `json:"original_message_type,omitempty"`
ImageLabels []string `json:"image_labels,omitempty"`
MessageDetails *FlagMessageDetailsResponse `json:"message_details,omitempty"`
Result *MessageModerationResult `json:"result,omitempty"`
}
type AutomodPlatformCircumventionConfig ΒΆ
type AutomodPlatformCircumventionConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Rules []AutomodRule `json:"rules,omitempty"`
}
type AutomodRule ΒΆ
type AutomodSemanticFiltersConfig ΒΆ
type AutomodSemanticFiltersConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Rules []AutomodSemanticFiltersRule `json:"rules,omitempty"`
}
type AutomodToxicityConfig ΒΆ
type AutomodToxicityConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Rules []AutomodRule `json:"rules,omitempty"`
}
type AzureRequest ΒΆ
type AzureRequest struct {
// The account name
AbsAccountName string `json:"abs_account_name"`
// The client id
AbsClientID string `json:"abs_client_id"`
// The client secret
AbsClientSecret string `json:"abs_client_secret"`
// The tenant id
AbsTenantID string `json:"abs_tenant_id"`
}
Config for creating Azure Blob Storage storage
type BackstageSettings ΒΆ
type BanActionRequestPayload ΒΆ
type BanActionRequestPayload struct {
// Ban only from specific channel
ChannelBanOnly *bool `json:"channel_ban_only,omitempty"`
// Message deletion mode: soft, pruning, or hard
DeleteMessages *string `json:"delete_messages,omitempty"`
// Whether to ban by IP address
IpBan *bool `json:"ip_ban,omitempty"`
// Reason for the ban
Reason *string `json:"reason,omitempty"`
// Whether this is a shadow ban
Shadow *bool `json:"shadow,omitempty"`
// Optional: ban user directly without review item
TargetUserID *string `json:"target_user_id,omitempty"`
// Duration of ban in minutes
Timeout *int `json:"timeout,omitempty"`
}
Configuration for ban moderation action
type BanInfoResponse ΒΆ
type BanInfoResponse struct {
// When the ban was created
CreatedAt Timestamp `json:"created_at"`
// When the ban expires
Expires *Timestamp `json:"expires,omitempty"`
// Reason for the ban
Reason *string `json:"reason,omitempty"`
// Whether this is a shadow ban
Shadow *bool `json:"shadow,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
Ban information
type BanOptions ΒΆ
type BanRequest ΒΆ
type BanRequest struct {
TargetUserID string `json:"target_user_id"`
BannedByID *string `json:"banned_by_id"`
ChannelCid *string `json:"channel_cid"`
DeleteMessages *string `json:"delete_messages"`
IpBan *bool `json:"ip_ban"`
Reason *string `json:"reason"`
Shadow *bool `json:"shadow"`
Timeout *int `json:"timeout"`
BannedBy *UserRequest `json:"banned_by"`
}
type BanResponse ΒΆ
type BanResponse struct {
CreatedAt Timestamp `json:"created_at"`
Expires *Timestamp `json:"expires,omitempty"`
Reason *string `json:"reason,omitempty"`
Shadow *bool `json:"shadow,omitempty"`
BannedBy *UserResponse `json:"banned_by,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type BlockActionRequestPayload ΒΆ
type BlockActionRequestPayload struct {
// Reason for blocking
Reason *string `json:"reason,omitempty"`
}
Configuration for block action
type BlockListConfig ΒΆ
type BlockListConfig struct {
Async *bool `json:"async,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Rules []BlockListRule `json:"rules,omitempty"`
}
type BlockListOptions ΒΆ
type BlockListResponse ΒΆ
type BlockListResponse struct {
IsLeetCheckEnabled bool `json:"is_leet_check_enabled"`
IsPluralCheckEnabled bool `json:"is_plural_check_enabled"`
// Block list name
Name string `json:"name"`
// Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word
Type string `json:"type"`
// List of words to block
Words []string `json:"words"`
// Date/time of creation
CreatedAt *Timestamp `json:"created_at,omitempty"`
ID *string `json:"id,omitempty"`
Team *string `json:"team,omitempty"`
// Date/time of the last update
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
}
Block list contains restricted words
type BlockListRule ΒΆ
type BlockUserRequest ΒΆ
type BlockUserRequest struct {
UserID string `json:"user_id"`
}
type BlockUserResponse ΒΆ
type BlockUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
BlockUserResponse is the payload for blocking a user.
type BlockUsersRequest ΒΆ
type BlockUsersRequest struct {
BlockedUserID string `json:"blocked_user_id"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type BlockUsersResponse ΒΆ
type BlockUsersResponse struct {
// User id who blocked another user
BlockedByUserID string `json:"blocked_by_user_id"`
// User id who got blocked
BlockedUserID string `json:"blocked_user_id"`
// Timestamp when the user was blocked
CreatedAt Timestamp `json:"created_at"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
type BlockedUserEvent ΒΆ
type BlockedUserEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
User UserResponse `json:"user"`
// The type of event: "call.blocked_user" in this case
Type string `json:"type"`
BlockedByUser *UserResponse `json:"blocked_by_user,omitempty"`
}
This event is sent to call participants to notify when a user is blocked on a call, clients can use this event to show a notification. If the user is the current user, the client should leave the call screen as well
func (*BlockedUserEvent) GetEventType ΒΆ
func (e *BlockedUserEvent) GetEventType() string
type BlockedUserResponse ΒΆ
type BlockedUserResponse struct {
// ID of the user who got blocked
BlockedUserID string `json:"blocked_user_id"`
CreatedAt Timestamp `json:"created_at"`
// ID of the user who blocked another user
UserID string `json:"user_id"`
BlockedUser UserResponse `json:"blocked_user"`
User UserResponse `json:"user"`
}
type BodyguardImageAnalysisConfig ΒΆ
type BodyguardImageAnalysisConfig struct {
Rules []BodyguardRule `json:"rules,omitempty"`
}
type BodyguardRule ΒΆ
type BodyguardRule struct {
Label string `json:"label"`
Action *string `json:"action,omitempty"`
SeverityRules []BodyguardSeverityRule `json:"severity_rules,omitempty"`
}
type BodyguardSeverityRule ΒΆ
type BookmarkAddedEvent ΒΆ
type BookmarkAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Bookmark BookmarkResponse `json:"bookmark"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.bookmark.added" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a user bookmarks an activity.
func (*BookmarkAddedEvent) GetEventType ΒΆ
func (e *BookmarkAddedEvent) GetEventType() string
type BookmarkDeletedEvent ΒΆ
type BookmarkDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Bookmark BookmarkResponse `json:"bookmark"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.bookmark.deleted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a user deletes a bookmark from an activity.
func (*BookmarkDeletedEvent) GetEventType ΒΆ
func (e *BookmarkDeletedEvent) GetEventType() string
type BookmarkFolderDeletedEvent ΒΆ
type BookmarkFolderDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
BookmarkFolder BookmarkFolderResponse `json:"bookmark_folder"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.bookmark_folder.deleted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a bookmark folder is deleted.
func (*BookmarkFolderDeletedEvent) GetEventType ΒΆ
func (e *BookmarkFolderDeletedEvent) GetEventType() string
type BookmarkFolderResponse ΒΆ
type BookmarkFolderResponse struct {
// When the folder was created
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for the folder
ID string `json:"id"`
// Name of the folder
Name string `json:"name"`
// When the folder was last updated
UpdatedAt Timestamp `json:"updated_at"`
User UserResponse `json:"user"`
// Custom data for the folder
Custom map[string]any `json:"custom,omitempty"`
}
type BookmarkFolderUpdatedEvent ΒΆ
type BookmarkFolderUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
BookmarkFolder BookmarkFolderResponse `json:"bookmark_folder"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.bookmark_folder.updated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a bookmark folder is updated.
func (*BookmarkFolderUpdatedEvent) GetEventType ΒΆ
func (e *BookmarkFolderUpdatedEvent) GetEventType() string
type BookmarkResponse ΒΆ
type BookmarkResponse struct {
// When the bookmark was created
CreatedAt Timestamp `json:"created_at"`
// When the bookmark was last updated
UpdatedAt Timestamp `json:"updated_at"`
Activity ActivityResponse `json:"activity"`
User UserResponse `json:"user"`
// Custom data for the bookmark
Custom map[string]any `json:"custom,omitempty"`
Folder *BookmarkFolderResponse `json:"folder,omitempty"`
}
type BookmarkUpdatedEvent ΒΆ
type BookmarkUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Bookmark BookmarkResponse `json:"bookmark"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.bookmark.updated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a user updates a bookmark.
func (*BookmarkUpdatedEvent) GetEventType ΒΆ
func (e *BookmarkUpdatedEvent) GetEventType() string
type BroadcastSettings ΒΆ
type BroadcastSettings struct {
Enabled bool `json:"enabled"`
HLS *HLSSettings `json:"hls,omitempty"`
RTMP *RTMPSettings `json:"rtmp,omitempty"`
}
type BroadcastSettingsRequest ΒΆ
type BroadcastSettingsRequest struct {
Enabled *bool `json:"enabled,omitempty"`
HLS *HLSSettingsRequest `json:"hls,omitempty"`
RTMP *RTMPSettingsRequest `json:"rtmp,omitempty"`
}
type BroadcastSettingsResponse ΒΆ
type BroadcastSettingsResponse struct {
Enabled bool `json:"enabled"`
HLS HLSSettingsResponse `json:"hls"`
RTMP RTMPSettingsResponse `json:"rtmp"`
}
BroadcastSettingsResponse is the payload for broadcasting settings
type BrowserDataResponse ΒΆ
type BulkImageModerationRequest ΒΆ
type BulkImageModerationRequest struct {
CsvFile string `json:"csv_file"`
}
type Call ΒΆ
type Call struct {
// contains filtered or unexported fields
}
func (*Call) BlockUser ΒΆ
func (c *Call) BlockUser(ctx context.Context, request *BlockUserRequest) (*StreamResponse[BlockUserResponse], error)
func (*Call) CollectUserFeedback ΒΆ
func (c *Call) CollectUserFeedback(ctx context.Context, request *CollectUserFeedbackRequest) (*StreamResponse[CollectUserFeedbackResponse], error)
func (*Call) CreateSRTCredentials ΒΆ
func (c *Call) CreateSRTCredentials(userID string) (*SRTCredentials, error)
func (*Call) Delete ΒΆ
func (c *Call) Delete(ctx context.Context, request *DeleteCallRequest) (*StreamResponse[DeleteCallResponse], error)
func (*Call) DeleteRecording ΒΆ
func (c *Call) DeleteRecording(ctx context.Context, session string, filename string, request *DeleteRecordingRequest) (*StreamResponse[DeleteRecordingResponse], error)
func (*Call) DeleteTranscription ΒΆ
func (c *Call) DeleteTranscription(ctx context.Context, session string, filename string, request *DeleteTranscriptionRequest) (*StreamResponse[DeleteTranscriptionResponse], error)
func (*Call) End ΒΆ
func (c *Call) End(ctx context.Context, request *EndCallRequest) (*StreamResponse[EndCallResponse], error)
func (*Call) Get ΒΆ
func (c *Call) Get(ctx context.Context, request *GetCallRequest) (*StreamResponse[GetCallResponse], error)
func (*Call) GetCallParticipantSessionMetrics ΒΆ
func (c *Call) GetCallParticipantSessionMetrics(ctx context.Context, session string, user string, userSession string, request *GetCallParticipantSessionMetricsRequest) (*StreamResponse[GetCallParticipantSessionMetricsResponse], error)
func (*Call) GetCallReport ΒΆ
func (c *Call) GetCallReport(ctx context.Context, request *GetCallReportRequest) (*StreamResponse[GetCallReportResponse], error)
func (*Call) GetOrCreate ΒΆ
func (c *Call) GetOrCreate(ctx context.Context, request *GetOrCreateCallRequest) (*StreamResponse[GetOrCreateCallResponse], error)
func (*Call) GoLive ΒΆ
func (c *Call) GoLive(ctx context.Context, request *GoLiveRequest) (*StreamResponse[GoLiveResponse], error)
func (*Call) KickUser ΒΆ
func (c *Call) KickUser(ctx context.Context, request *KickUserRequest) (*StreamResponse[KickUserResponse], error)
func (*Call) ListRecordings ΒΆ
func (c *Call) ListRecordings(ctx context.Context, request *ListRecordingsRequest) (*StreamResponse[ListRecordingsResponse], error)
func (*Call) ListTranscriptions ΒΆ
func (c *Call) ListTranscriptions(ctx context.Context, request *ListTranscriptionsRequest) (*StreamResponse[ListTranscriptionsResponse], error)
func (*Call) MuteUsers ΒΆ
func (c *Call) MuteUsers(ctx context.Context, request *MuteUsersRequest) (*StreamResponse[MuteUsersResponse], error)
func (*Call) QueryCallParticipantSessions ΒΆ
func (c *Call) QueryCallParticipantSessions(ctx context.Context, session string, request *QueryCallParticipantSessionsRequest) (*StreamResponse[QueryCallParticipantSessionsResponse], error)
func (*Call) QueryCallParticipants ΒΆ
func (c *Call) QueryCallParticipants(ctx context.Context, request *QueryCallParticipantsRequest) (*StreamResponse[QueryCallParticipantsResponse], error)
func (*Call) Ring ΒΆ
func (c *Call) Ring(ctx context.Context, request *RingCallRequest) (*StreamResponse[RingCallResponse], error)
func (*Call) SendCallEvent ΒΆ
func (c *Call) SendCallEvent(ctx context.Context, request *SendCallEventRequest) (*StreamResponse[SendCallEventResponse], error)
func (*Call) SendClosedCaption ΒΆ
func (c *Call) SendClosedCaption(ctx context.Context, request *SendClosedCaptionRequest) (*StreamResponse[SendClosedCaptionResponse], error)
func (*Call) StartClosedCaptions ΒΆ
func (c *Call) StartClosedCaptions(ctx context.Context, request *StartClosedCaptionsRequest) (*StreamResponse[StartClosedCaptionsResponse], error)
func (*Call) StartFrameRecording ΒΆ
func (c *Call) StartFrameRecording(ctx context.Context, request *StartFrameRecordingRequest) (*StreamResponse[StartFrameRecordingResponse], error)
func (*Call) StartHLSBroadcasting ΒΆ
func (c *Call) StartHLSBroadcasting(ctx context.Context, request *StartHLSBroadcastingRequest) (*StreamResponse[StartHLSBroadcastingResponse], error)
func (*Call) StartRTMPBroadcasts ΒΆ
func (c *Call) StartRTMPBroadcasts(ctx context.Context, request *StartRTMPBroadcastsRequest) (*StreamResponse[StartRTMPBroadcastsResponse], error)
func (*Call) StartRecording ΒΆ
func (c *Call) StartRecording(ctx context.Context, recordingType string, request *StartRecordingRequest) (*StreamResponse[StartRecordingResponse], error)
func (*Call) StartTranscription ΒΆ
func (c *Call) StartTranscription(ctx context.Context, request *StartTranscriptionRequest) (*StreamResponse[StartTranscriptionResponse], error)
func (*Call) StopAllRTMPBroadcasts ΒΆ
func (c *Call) StopAllRTMPBroadcasts(ctx context.Context, request *StopAllRTMPBroadcastsRequest) (*StreamResponse[StopAllRTMPBroadcastsResponse], error)
func (*Call) StopClosedCaptions ΒΆ
func (c *Call) StopClosedCaptions(ctx context.Context, request *StopClosedCaptionsRequest) (*StreamResponse[StopClosedCaptionsResponse], error)
func (*Call) StopFrameRecording ΒΆ
func (c *Call) StopFrameRecording(ctx context.Context, request *StopFrameRecordingRequest) (*StreamResponse[StopFrameRecordingResponse], error)
func (*Call) StopHLSBroadcasting ΒΆ
func (c *Call) StopHLSBroadcasting(ctx context.Context, request *StopHLSBroadcastingRequest) (*StreamResponse[StopHLSBroadcastingResponse], error)
func (*Call) StopLive ΒΆ
func (c *Call) StopLive(ctx context.Context, request *StopLiveRequest) (*StreamResponse[StopLiveResponse], error)
func (*Call) StopRTMPBroadcast ΒΆ
func (c *Call) StopRTMPBroadcast(ctx context.Context, name string, request *StopRTMPBroadcastRequest) (*StreamResponse[StopRTMPBroadcastsResponse], error)
func (*Call) StopRecording ΒΆ
func (c *Call) StopRecording(ctx context.Context, recordingType string, request *StopRecordingRequest) (*StreamResponse[StopRecordingResponse], error)
func (*Call) StopTranscription ΒΆ
func (c *Call) StopTranscription(ctx context.Context, request *StopTranscriptionRequest) (*StreamResponse[StopTranscriptionResponse], error)
func (*Call) UnblockUser ΒΆ
func (c *Call) UnblockUser(ctx context.Context, request *UnblockUserRequest) (*StreamResponse[UnblockUserResponse], error)
func (*Call) Update ΒΆ
func (c *Call) Update(ctx context.Context, request *UpdateCallRequest) (*StreamResponse[UpdateCallResponse], error)
func (*Call) UpdateCallMembers ΒΆ
func (c *Call) UpdateCallMembers(ctx context.Context, request *UpdateCallMembersRequest) (*StreamResponse[UpdateCallMembersResponse], error)
func (*Call) UpdateUserPermissions ΒΆ
func (c *Call) UpdateUserPermissions(ctx context.Context, request *UpdateUserPermissionsRequest) (*StreamResponse[UpdateUserPermissionsResponse], error)
func (*Call) VideoPin ΒΆ
func (c *Call) VideoPin(ctx context.Context, request *VideoPinRequest) (*StreamResponse[PinResponse], error)
func (*Call) VideoUnpin ΒΆ
func (c *Call) VideoUnpin(ctx context.Context, request *VideoUnpinRequest) (*StreamResponse[UnpinResponse], error)
type CallAcceptedEvent ΒΆ
type CallAcceptedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
User UserResponse `json:"user"`
// The type of event: "call.accepted" in this case
Type string `json:"type"`
}
This event is sent when a user accepts a notification to join a call.
func (*CallAcceptedEvent) GetEventType ΒΆ
func (e *CallAcceptedEvent) GetEventType() string
type CallActionOptions ΒΆ
type CallActionOptions struct {
Duration *int `json:"duration,omitempty"`
FlagReason *string `json:"flag_reason,omitempty"`
KickReason *string `json:"kick_reason,omitempty"`
MuteAudio *bool `json:"mute_audio,omitempty"`
MuteVideo *bool `json:"mute_video,omitempty"`
Reason *string `json:"reason,omitempty"`
WarningText *string `json:"warning_text,omitempty"`
}
type CallClosedCaption ΒΆ
type CallClosedCaption struct {
EndTime Timestamp `json:"end_time"`
ID string `json:"id"`
Language string `json:"language"`
SpeakerID string `json:"speaker_id"`
StartTime Timestamp `json:"start_time"`
Text string `json:"text"`
Translated bool `json:"translated"`
User UserResponse `json:"user"`
Service *string `json:"service,omitempty"`
}
CallClosedCaption represents a closed caption of a call.
type CallClosedCaptionsFailedEvent ΒΆ
type CallClosedCaptionsFailedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The type of event: "call.closed_captions_failed" in this case
Type string `json:"type"`
}
This event is sent when call closed captions has failed
func (*CallClosedCaptionsFailedEvent) GetEventType ΒΆ
func (e *CallClosedCaptionsFailedEvent) GetEventType() string
type CallClosedCaptionsStartedEvent ΒΆ
type CallClosedCaptionsStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The type of event: "call.closed_captions_started" in this case
Type string `json:"type"`
}
This event is sent when call closed caption has started
func (*CallClosedCaptionsStartedEvent) GetEventType ΒΆ
func (e *CallClosedCaptionsStartedEvent) GetEventType() string
type CallClosedCaptionsStoppedEvent ΒΆ
type CallClosedCaptionsStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The type of event: "call.transcription_stopped" in this case
Type string `json:"type"`
}
This event is sent when call closed captions has stopped
func (*CallClosedCaptionsStoppedEvent) GetEventType ΒΆ
func (e *CallClosedCaptionsStoppedEvent) GetEventType() string
type CallCreatedEvent ΒΆ
type CallCreatedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// the members added to this call
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
// The type of event: "call.created" in this case
Type string `json:"type"`
}
This event is sent when a call is created. Clients receiving this event should check if the ringing field is set to true and if so, show the call screen
func (*CallCreatedEvent) GetEventType ΒΆ
func (e *CallCreatedEvent) GetEventType() string
type CallDTMFEvent ΒΆ
type CallDTMFEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The DTMF digit (0-9, *, #, A-D)
Digit string `json:"digit"`
// Duration of the digit press in milliseconds
DurationMs int `json:"duration_ms"`
// Monotonically increasing sequence number for ordering DTMF events within a session
SeqNumber int `json:"seq_number"`
// When the digit press ended and was detected
Timestamp Timestamp `json:"timestamp"`
User UserResponse `json:"user"`
// The type of event: "call.dtmf" in this case
Type string `json:"type"`
}
This event is sent asynchronously when a single DTMF digit is received from a SIP participant. The event is broadcast after the digit press ends. Use seq_number for ordering within a session and timestamp for the actual detection time.
func (*CallDTMFEvent) GetEventType ΒΆ
func (e *CallDTMFEvent) GetEventType() string
type CallDeletedEvent ΒΆ
type CallDeletedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
// The type of event: "call.deleted" in this case
Type string `json:"type"`
}
This event is sent when a call is deleted. Clients receiving this event should leave the call screen
func (*CallDeletedEvent) GetEventType ΒΆ
func (e *CallDeletedEvent) GetEventType() string
type CallDurationReport ΒΆ
type CallDurationReport struct {
Histogram []ReportByHistogramBucket `json:"histogram"`
}
type CallDurationReportResponse ΒΆ
type CallDurationReportResponse struct {
Daily []DailyAggregateCallDurationReportResponse `json:"daily"`
}
type CallEndedEvent ΒΆ
type CallEndedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
// The type of event: "call.ended" in this case
Type string `json:"type"`
// The reason why the call ended, if available
Reason *string `json:"reason,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
This event is sent when a call is mark as ended for all its participants. Clients receiving this event should leave the call screen
func (*CallEndedEvent) GetEventType ΒΆ
func (e *CallEndedEvent) GetEventType() string
type CallFrameRecordingFailedEvent ΒΆ
type CallFrameRecordingFailedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
Call CallResponse `json:"call"`
// The type of event: "call.frame_recording_failed" in this case
Type string `json:"type"`
}
This event is sent when frame recording has failed
func (*CallFrameRecordingFailedEvent) GetEventType ΒΆ
func (e *CallFrameRecordingFailedEvent) GetEventType() string
type CallFrameRecordingFrameReadyEvent ΒΆ
type CallFrameRecordingFrameReadyEvent struct {
CallCid string `json:"call_cid"`
// The time the frame was captured
CapturedAt Timestamp `json:"captured_at"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// Call session ID
SessionID string `json:"session_id"`
// The type of the track frame was captured from (TRACK_TYPE_VIDEO|TRACK_TYPE_SCREEN_SHARE)
TrackType string `json:"track_type"`
// The URL of the frame
Url string `json:"url"`
// The users in the frame
Users map[string]UserResponse `json:"users"`
// The type of event: "call.frame_recording_ready" in this case
Type string `json:"type"`
}
This event is sent when a frame is captured from a call
func (*CallFrameRecordingFrameReadyEvent) GetEventType ΒΆ
func (e *CallFrameRecordingFrameReadyEvent) GetEventType() string
type CallFrameRecordingStartedEvent ΒΆ
type CallFrameRecordingStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
Call CallResponse `json:"call"`
// The type of event: "call.frame_recording_started" in this case
Type string `json:"type"`
}
This event is sent when frame recording has started
func (*CallFrameRecordingStartedEvent) GetEventType ΒΆ
func (e *CallFrameRecordingStartedEvent) GetEventType() string
type CallFrameRecordingStoppedEvent ΒΆ
type CallFrameRecordingStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
Call CallResponse `json:"call"`
// The type of event: "call.frame_recording_stopped" in this case
Type string `json:"type"`
}
This event is sent when frame recording has stopped
func (*CallFrameRecordingStoppedEvent) GetEventType ΒΆ
func (e *CallFrameRecordingStoppedEvent) GetEventType() string
type CallHLSBroadcastingFailedEvent ΒΆ
type CallHLSBroadcastingFailedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The type of event: "call.hls_broadcasting_failed" in this case
Type string `json:"type"`
}
This event is sent when HLS broadcasting has failed
func (*CallHLSBroadcastingFailedEvent) GetEventType ΒΆ
func (e *CallHLSBroadcastingFailedEvent) GetEventType() string
type CallHLSBroadcastingStartedEvent ΒΆ
type CallHLSBroadcastingStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
HLSPlaylistUrl string `json:"hls_playlist_url"`
Call CallResponse `json:"call"`
// The type of event: "call.hls_broadcasting_started" in this case
Type string `json:"type"`
}
This event is sent when HLS broadcasting has started
func (*CallHLSBroadcastingStartedEvent) GetEventType ΒΆ
func (e *CallHLSBroadcastingStartedEvent) GetEventType() string
type CallHLSBroadcastingStoppedEvent ΒΆ
type CallHLSBroadcastingStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The type of event: "call.hls_broadcasting_stopped" in this case
Type string `json:"type"`
}
This event is sent when HLS broadcasting has stopped
func (*CallHLSBroadcastingStoppedEvent) GetEventType ΒΆ
func (e *CallHLSBroadcastingStoppedEvent) GetEventType() string
type CallIngressResponse ΒΆ
type CallIngressResponse struct {
RTMP RTMPIngress `json:"rtmp"`
Srt SRTIngress `json:"srt"`
Whip WHIPIngress `json:"whip"`
}
CallIngressResponse is the payload for ingress settings
type CallLiveStartedEvent ΒΆ
type CallLiveStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
// The type of event: "call.live_started" in this case
Type string `json:"type"`
}
This event is sent when a call is started. Clients receiving this event should start the call.
func (*CallLiveStartedEvent) GetEventType ΒΆ
func (e *CallLiveStartedEvent) GetEventType() string
type CallMemberAddedEvent ΒΆ
type CallMemberAddedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// the members added to this call
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
// The type of event: "call.member_added" in this case
Type string `json:"type"`
}
This event is sent when one or more members are added to a call
func (*CallMemberAddedEvent) GetEventType ΒΆ
func (e *CallMemberAddedEvent) GetEventType() string
type CallMemberRemovedEvent ΒΆ
type CallMemberRemovedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// the list of member IDs removed from the call
Members []string `json:"members"`
Call CallResponse `json:"call"`
// The type of event: "call.member_removed" in this case
Type string `json:"type"`
}
This event is sent when one or more members are removed from a call
func (*CallMemberRemovedEvent) GetEventType ΒΆ
func (e *CallMemberRemovedEvent) GetEventType() string
type CallMemberUpdatedEvent ΒΆ
type CallMemberUpdatedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The list of members that were updated
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
// The type of event: "call.member_updated" in this case
Type string `json:"type"`
}
This event is sent when one or more members are updated
func (*CallMemberUpdatedEvent) GetEventType ΒΆ
func (e *CallMemberUpdatedEvent) GetEventType() string
type CallMemberUpdatedPermissionEvent ΒΆ
type CallMemberUpdatedPermissionEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The list of members that were updated
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
// The capabilities by role for this call
CapabilitiesByRole map[string][]string `json:"capabilities_by_role"`
// The type of event: "call.member_added" in this case
Type string `json:"type"`
}
This event is sent when one or more members get its role updated
func (*CallMemberUpdatedPermissionEvent) GetEventType ΒΆ
func (e *CallMemberUpdatedPermissionEvent) GetEventType() string
type CallMissedEvent ΒΆ
type CallMissedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
NotifyUser bool `json:"notify_user"`
// Call session ID
SessionID string `json:"session_id"`
// List of members who missed the call
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
User UserResponse `json:"user"`
// The type of event: "call.notification" in this case
Type string `json:"type"`
}
This event is sent to call members who did not accept/reject/join the call to notify they missed the call
func (*CallMissedEvent) GetEventType ΒΆ
func (e *CallMissedEvent) GetEventType() string
type CallModerationBlurEvent ΒΆ
type CallModerationBlurEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The user ID whose video stream is being blurred
UserID string `json:"user_id"`
// Custom data associated with the moderation action
Custom map[string]any `json:"custom"`
// The type of event: "call.moderation_blur" in this case
Type string `json:"type"`
}
This event is sent when a moderation blur action is applied to a user's video stream
func (*CallModerationBlurEvent) GetEventType ΒΆ
func (e *CallModerationBlurEvent) GetEventType() string
type CallModerationWarningEvent ΒΆ
type CallModerationWarningEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The warning message
Message string `json:"message"`
// The user ID who is receiving the warning
UserID string `json:"user_id"`
// Custom data associated with the moderation action
Custom map[string]any `json:"custom"`
// The type of event: "call.moderation_warning" in this case
Type string `json:"type"`
}
This event is sent when a moderation warning is issued to a user
func (*CallModerationWarningEvent) GetEventType ΒΆ
func (e *CallModerationWarningEvent) GetEventType() string
type CallNotificationEvent ΒΆ
type CallNotificationEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
// Call members
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
User UserResponse `json:"user"`
// The type of event: "call.notification" in this case
Type string `json:"type"`
}
This event is sent to all call members to notify they are getting called
func (*CallNotificationEvent) GetEventType ΒΆ
func (e *CallNotificationEvent) GetEventType() string
type CallParticipantCountReport ΒΆ
type CallParticipantCountReport struct {
Histogram []ReportByHistogramBucket `json:"histogram"`
}
type CallParticipantCountReportResponse ΒΆ
type CallParticipantCountReportResponse struct {
Daily []DailyAggregateCallParticipantCountReportResponse `json:"daily"`
}
type CallParticipantResponse ΒΆ
type CallParticipantResponse struct {
JoinedAt Timestamp `json:"joined_at"`
Role string `json:"role"`
UserSessionID string `json:"user_session_id"`
User UserResponse `json:"user"`
}
type CallReactionEvent ΒΆ
type CallReactionEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Reaction VideoReactionResponse `json:"reaction"`
// The type of event: "call.reaction_new" in this case
Type string `json:"type"`
}
This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen
func (*CallReactionEvent) GetEventType ΒΆ
func (e *CallReactionEvent) GetEventType() string
type CallRecording ΒΆ
type CallRecording struct {
EndTime Timestamp `json:"end_time"`
Filename string `json:"filename"`
RecordingType string `json:"recording_type"`
SessionID string `json:"session_id"`
StartTime Timestamp `json:"start_time"`
Url string `json:"url"`
}
CallRecording represents a recording of a call.
type CallRecordingFailedEvent ΒΆ
type CallRecordingFailedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of recording
RecordingType string `json:"recording_type"`
// The type of event: "call.recording_failed" in this case
Type string `json:"type"`
}
This event is sent when call recording has failed
func (*CallRecordingFailedEvent) GetEventType ΒΆ
func (e *CallRecordingFailedEvent) GetEventType() string
type CallRecordingReadyEvent ΒΆ
type CallRecordingReadyEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of recording
RecordingType string `json:"recording_type"`
CallRecording CallRecording `json:"call_recording"`
// The type of event: "call.recording_ready" in this case
Type string `json:"type"`
}
This event is sent when call recording is ready
func (*CallRecordingReadyEvent) GetEventType ΒΆ
func (e *CallRecordingReadyEvent) GetEventType() string
type CallRecordingStartedEvent ΒΆ
type CallRecordingStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of recording
RecordingType string `json:"recording_type"`
// The type of event: "call.recording_started" in this case
Type string `json:"type"`
}
This event is sent when call recording has started
func (*CallRecordingStartedEvent) GetEventType ΒΆ
func (e *CallRecordingStartedEvent) GetEventType() string
type CallRecordingStoppedEvent ΒΆ
type CallRecordingStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of recording
RecordingType string `json:"recording_type"`
// The type of event: "call.recording_stopped" in this case
Type string `json:"type"`
}
This event is sent when call recording has stopped
func (*CallRecordingStoppedEvent) GetEventType ΒΆ
func (e *CallRecordingStoppedEvent) GetEventType() string
type CallRejectedEvent ΒΆ
type CallRejectedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
User UserResponse `json:"user"`
// The type of event: "call.rejected" in this case
Type string `json:"type"`
// Provides information about why the call was rejected. You can provide any value, but the Stream API and SDKs use these default values: rejected, cancel, timeout and busy
Reason *string `json:"reason,omitempty"`
}
This event is sent when a user rejects a notification to join a call.
func (*CallRejectedEvent) GetEventType ΒΆ
func (e *CallRejectedEvent) GetEventType() string
type CallReportResponse ΒΆ
type CallRequest ΒΆ
type CallRequest struct {
ChannelCid *string `json:"channel_cid,omitempty"`
CreatedByID *string `json:"created_by_id,omitempty"`
StartsAt *Timestamp `json:"starts_at,omitempty"`
Team *string `json:"team,omitempty"`
Video *bool `json:"video,omitempty"`
Members []MemberRequest `json:"members,omitempty"`
CreatedBy *UserRequest `json:"created_by,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
SettingsOverride *CallSettingsRequest `json:"settings_override,omitempty"`
}
CallRequest is the payload for creating a call.
type CallResponse ΒΆ
type CallResponse struct {
Backstage bool `json:"backstage"`
Captioning bool `json:"captioning"`
// The unique identifier for a call (<type>:<id>)
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
CurrentSessionID string `json:"current_session_id"`
// Call ID
ID string `json:"id"`
Recording bool `json:"recording"`
Transcribing bool `json:"transcribing"`
Translating bool `json:"translating"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// The type of call
Type string `json:"type"`
BlockedUserIds []string `json:"blocked_user_ids"`
CreatedBy UserResponse `json:"created_by"`
// Custom data for this object
Custom map[string]any `json:"custom"`
Egress EgressResponse `json:"egress"`
Ingress CallIngressResponse `json:"ingress"`
Settings CallSettingsResponse `json:"settings"`
ChannelCid *string `json:"channel_cid,omitempty"`
// Date/time when the call ended
EndedAt *Timestamp `json:"ended_at,omitempty"`
JoinAheadTimeSeconds *int `json:"join_ahead_time_seconds,omitempty"`
// 10-digit routing number for SIP routing
RoutingNumber *string `json:"routing_number,omitempty"`
// Date/time when the call will start
StartsAt *Timestamp `json:"starts_at,omitempty"`
Team *string `json:"team,omitempty"`
Session *CallSessionResponse `json:"session,omitempty"`
Thumbnails *ThumbnailResponse `json:"thumbnails,omitempty"`
}
Represents a call
type CallRingEvent ΒΆ
type CallRingEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
Video bool `json:"video"`
// Call members
Members []MemberResponse `json:"members"`
Call CallResponse `json:"call"`
User UserResponse `json:"user"`
// The type of event: "call.notification" in this case
Type string `json:"type"`
}
This event is sent to all call members to notify they are getting called
func (*CallRingEvent) GetEventType ΒΆ
func (e *CallRingEvent) GetEventType() string
type CallRtmpBroadcastFailedEvent ΒΆ
type CallRtmpBroadcastFailedEvent struct {
// The unique identifier for a call (<type>:<id>)
CallCid string `json:"call_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Name of the given RTMP broadcast
Name string `json:"name"`
// The type of event: "call.rtmp_broadcast_failed" in this case
Type string `json:"type"`
}
This event is sent when a call RTMP broadcast has failed
func (*CallRtmpBroadcastFailedEvent) GetEventType ΒΆ
func (e *CallRtmpBroadcastFailedEvent) GetEventType() string
type CallRtmpBroadcastStartedEvent ΒΆ
type CallRtmpBroadcastStartedEvent struct {
// The unique identifier for a call (<type>:<id>)
CallCid string `json:"call_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Name of the given RTMP broadcast
Name string `json:"name"`
// The type of event: "call.rtmp_broadcast_started" in this case
Type string `json:"type"`
}
This event is sent when RTMP broadcast has started
func (*CallRtmpBroadcastStartedEvent) GetEventType ΒΆ
func (e *CallRtmpBroadcastStartedEvent) GetEventType() string
type CallRtmpBroadcastStoppedEvent ΒΆ
type CallRtmpBroadcastStoppedEvent struct {
// The unique identifier for a call (<type>:<id>)
CallCid string `json:"call_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Name of the given RTMP broadcast
Name string `json:"name"`
// The type of event: "call.rtmp_broadcast_stopped" in this case
Type string `json:"type"`
}
This event is sent when RTMP broadcast has stopped
func (*CallRtmpBroadcastStoppedEvent) GetEventType ΒΆ
func (e *CallRtmpBroadcastStoppedEvent) GetEventType() string
type CallRuleActionSequence ΒΆ
type CallRuleActionSequence struct {
ViolationNumber *int `json:"violation_number,omitempty"`
Actions []string `json:"actions,omitempty"`
CallOptions *CallActionOptions `json:"call_options,omitempty"`
}
type CallSessionEndedEvent ΒΆ
type CallSessionEndedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
Call CallResponse `json:"call"`
// The type of event: "call.session_ended" in this case
Type string `json:"type"`
}
This event is sent when a call session ends
func (*CallSessionEndedEvent) GetEventType ΒΆ
func (e *CallSessionEndedEvent) GetEventType() string
type CallSessionParticipantCountsUpdatedEvent ΒΆ
type CallSessionParticipantCountsUpdatedEvent struct {
AnonymousParticipantCount int `json:"anonymous_participant_count"`
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
ParticipantsCountByRole map[string]int `json:"participants_count_by_role"`
// The type of event: "call.session_participant_count_updated" in this case
Type string `json:"type"`
}
This event is sent when the participant counts in a call session are updated
func (*CallSessionParticipantCountsUpdatedEvent) GetEventType ΒΆ
func (e *CallSessionParticipantCountsUpdatedEvent) GetEventType() string
type CallSessionParticipantJoinedEvent ΒΆ
type CallSessionParticipantJoinedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
Participant CallParticipantResponse `json:"participant"`
// The type of event: "call.session_participant_joined" in this case
Type string `json:"type"`
}
This event is sent when a participant joins a call session
func (*CallSessionParticipantJoinedEvent) GetEventType ΒΆ
func (e *CallSessionParticipantJoinedEvent) GetEventType() string
type CallSessionParticipantLeftEvent ΒΆ
type CallSessionParticipantLeftEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The duration participant was in the session in seconds
DurationSeconds int `json:"duration_seconds"`
// Call session ID
SessionID string `json:"session_id"`
Participant CallParticipantResponse `json:"participant"`
// The type of event: "call.session_participant_left" in this case
Type string `json:"type"`
// The reason why the participant left the session
Reason *string `json:"reason,omitempty"`
}
This event is sent when a participant leaves a call session
func (*CallSessionParticipantLeftEvent) GetEventType ΒΆ
func (e *CallSessionParticipantLeftEvent) GetEventType() string
type CallSessionResponse ΒΆ
type CallSessionResponse struct {
AnonymousParticipantCount int `json:"anonymous_participant_count"`
ID string `json:"id"`
Participants []CallParticipantResponse `json:"participants"`
AcceptedBy map[string]Timestamp `json:"accepted_by"`
MissedBy map[string]Timestamp `json:"missed_by"`
ParticipantsCountByRole map[string]int `json:"participants_count_by_role"`
RejectedBy map[string]Timestamp `json:"rejected_by"`
EndedAt *Timestamp `json:"ended_at,omitempty"`
LiveEndedAt *Timestamp `json:"live_ended_at,omitempty"`
LiveStartedAt *Timestamp `json:"live_started_at,omitempty"`
StartedAt *Timestamp `json:"started_at,omitempty"`
TimerEndsAt *Timestamp `json:"timer_ends_at,omitempty"`
}
type CallSessionStartedEvent ΒΆ
type CallSessionStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
Call CallResponse `json:"call"`
// The type of event: "call.session_started" in this case
Type string `json:"type"`
}
This event is sent when a call session starts
func (*CallSessionStartedEvent) GetEventType ΒΆ
func (e *CallSessionStartedEvent) GetEventType() string
type CallSettings ΒΆ
type CallSettings struct {
Audio *AudioSettings `json:"audio,omitempty"`
Backstage *BackstageSettings `json:"backstage,omitempty"`
Broadcasting *BroadcastSettings `json:"broadcasting,omitempty"`
FrameRecording *FrameRecordSettings `json:"frame_recording,omitempty"`
Geofencing *GeofenceSettings `json:"geofencing,omitempty"`
IndividualRecording *IndividualRecordSettings `json:"individual_recording,omitempty"`
Ingress *IngressSettings `json:"ingress,omitempty"`
Limits *LimitsSettings `json:"limits,omitempty"`
RawRecording *RawRecordSettings `json:"raw_recording,omitempty"`
Recording *RecordSettings `json:"recording,omitempty"`
Ring *RingSettings `json:"ring,omitempty"`
Screensharing *ScreensharingSettings `json:"screensharing,omitempty"`
Session *SessionSettings `json:"session,omitempty"`
Thumbnails *ThumbnailsSettings `json:"thumbnails,omitempty"`
Transcription *TranscriptionSettings `json:"transcription,omitempty"`
Video *VideoSettings `json:"video,omitempty"`
}
type CallSettingsRequest ΒΆ
type CallSettingsRequest struct {
Audio *AudioSettingsRequest `json:"audio,omitempty"`
Backstage *BackstageSettingsRequest `json:"backstage,omitempty"`
Broadcasting *BroadcastSettingsRequest `json:"broadcasting,omitempty"`
FrameRecording *FrameRecordingSettingsRequest `json:"frame_recording,omitempty"`
Geofencing *GeofenceSettingsRequest `json:"geofencing,omitempty"`
IndividualRecording *IndividualRecordingSettingsRequest `json:"individual_recording,omitempty"`
Ingress *IngressSettingsRequest `json:"ingress,omitempty"`
Limits *LimitsSettingsRequest `json:"limits,omitempty"`
RawRecording *RawRecordingSettingsRequest `json:"raw_recording,omitempty"`
Recording *RecordSettingsRequest `json:"recording,omitempty"`
Ring *RingSettingsRequest `json:"ring,omitempty"`
Screensharing *ScreensharingSettingsRequest `json:"screensharing,omitempty"`
Session *SessionSettingsRequest `json:"session,omitempty"`
Thumbnails *ThumbnailsSettingsRequest `json:"thumbnails,omitempty"`
Transcription *TranscriptionSettingsRequest `json:"transcription,omitempty"`
Video *VideoSettingsRequest `json:"video,omitempty"`
}
type CallSettingsResponse ΒΆ
type CallSettingsResponse struct {
Audio AudioSettingsResponse `json:"audio"`
Backstage BackstageSettingsResponse `json:"backstage"`
Broadcasting BroadcastSettingsResponse `json:"broadcasting"`
FrameRecording FrameRecordingSettingsResponse `json:"frame_recording"`
Geofencing GeofenceSettingsResponse `json:"geofencing"`
IndividualRecording IndividualRecordingSettingsResponse `json:"individual_recording"`
Limits LimitsSettingsResponse `json:"limits"`
RawRecording RawRecordingSettingsResponse `json:"raw_recording"`
Recording RecordSettingsResponse `json:"recording"`
Ring RingSettingsResponse `json:"ring"`
Screensharing ScreensharingSettingsResponse `json:"screensharing"`
Session SessionSettingsResponse `json:"session"`
Thumbnails ThumbnailsSettingsResponse `json:"thumbnails"`
Transcription TranscriptionSettingsResponse `json:"transcription"`
Video VideoSettingsResponse `json:"video"`
Ingress *IngressSettingsResponse `json:"ingress,omitempty"`
}
type CallStateResponseFields ΒΆ
type CallStateResponseFields struct {
// List of call members
Members []MemberResponse `json:"members"`
OwnCapabilities []OwnCapability `json:"own_capabilities"`
Call CallResponse `json:"call"`
}
CallStateResponseFields is the payload for call state response
type CallStatsLocation ΒΆ
type CallStatsLocation struct {
AccuracyRadiusMeters *int `json:"accuracy_radius_meters,omitempty"`
City *string `json:"city,omitempty"`
Continent *string `json:"continent,omitempty"`
Country *string `json:"country,omitempty"`
CountryIsoCode *string `json:"country_iso_code,omitempty"`
Latitude *float64 `json:"latitude,omitempty"`
Longitude *float64 `json:"longitude,omitempty"`
Subdivision *string `json:"subdivision,omitempty"`
}
type CallStatsMapLocation ΒΆ
type CallStatsMapLocation struct {
Count int `json:"count"`
LiveCount int `json:"live_count"`
Location *CallStatsLocation `json:"location,omitempty"`
}
type CallStatsMapPublisher ΒΆ
type CallStatsMapPublisher struct {
IsLive bool `json:"is_live"`
UserID string `json:"user_id"`
UserSessionID string `json:"user_session_id"`
PublishedTracks PublishedTrackFlags `json:"published_tracks"`
Name *string `json:"name,omitempty"`
PublisherType *string `json:"publisher_type,omitempty"`
Location *CallStatsLocation `json:"location,omitempty"`
}
type CallStatsMapPublishers ΒΆ
type CallStatsMapPublishers struct {
Publishers []CallStatsMapPublisher `json:"publishers"`
}
type CallStatsMapSFUs ΒΆ
type CallStatsMapSFUs struct {
Locations []SFULocationResponse `json:"locations"`
}
type CallStatsMapSubscriber ΒΆ
type CallStatsMapSubscriber struct {
IsLive bool `json:"is_live"`
UserID string `json:"user_id"`
UserSessionID string `json:"user_session_id"`
Name *string `json:"name,omitempty"`
Location *CallStatsLocation `json:"location,omitempty"`
}
type CallStatsMapSubscribers ΒΆ
type CallStatsMapSubscribers struct {
Locations []CallStatsMapLocation `json:"locations"`
Participants []CallStatsMapSubscriber `json:"participants,omitempty"`
}
type CallStatsParticipant ΒΆ
type CallStatsParticipant struct {
UserID string `json:"user_id"`
Sessions []CallStatsParticipantSession `json:"sessions"`
LatestActivityAt *Timestamp `json:"latest_activity_at,omitempty"`
Name *string `json:"name,omitempty"`
Roles []string `json:"roles,omitempty"`
}
type CallStatsParticipantCounts ΒΆ
type CallStatsParticipantCounts struct {
LiveSessions int `json:"live_sessions"`
Participants int `json:"participants"`
PeakConcurrentSessions int `json:"peak_concurrent_sessions"`
PeakConcurrentUsers int `json:"peak_concurrent_users"`
Publishers int `json:"publishers"`
Sessions int `json:"sessions"`
TotalParticipantDuration *int `json:"total_participant_duration,omitempty"`
}
type CallStatsParticipantSession ΒΆ
type CallStatsParticipantSession struct {
IsLive bool `json:"is_live"`
UserSessionID string `json:"user_session_id"`
PublishedTracks PublishedTrackFlags `json:"published_tracks"`
Browser *string `json:"browser,omitempty"`
BrowserVersion *string `json:"browser_version,omitempty"`
CqScore *int `json:"cq_score,omitempty"`
CurrentIp *string `json:"current_ip,omitempty"`
CurrentSfu *string `json:"current_sfu,omitempty"`
DistanceToSfuKilometers *float64 `json:"distance_to_sfu_kilometers,omitempty"`
EndedAt *Timestamp `json:"ended_at,omitempty"`
Os *string `json:"os,omitempty"`
PublisherType *string `json:"publisher_type,omitempty"`
Sdk *string `json:"sdk,omitempty"`
SdkVersion *string `json:"sdk_version,omitempty"`
StartedAt *Timestamp `json:"started_at,omitempty"`
UnifiedSessionID *string `json:"unified_session_id,omitempty"`
WebrtcVersion *string `json:"webrtc_version,omitempty"`
Location *CallStatsLocation `json:"location,omitempty"`
}
type CallStatsReportReadyEvent ΒΆ
type CallStatsReportReadyEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Call session ID
SessionID string `json:"session_id"`
// The type of event, "call.report_ready" in this case
Type string `json:"type"`
// Whether participants_overview is truncated by the server-side limit
IsTrimmed *bool `json:"is_trimmed,omitempty"`
// Top participant sessions overview
ParticipantsOverview []CallStatsParticipant `json:"participants_overview,omitempty"`
}
This event is sent when the insights report is ready
func (*CallStatsReportReadyEvent) GetEventType ΒΆ
func (e *CallStatsReportReadyEvent) GetEventType() string
type CallStatsReportSummaryResponse ΒΆ
type CallStatsReportSummaryResponse struct {
CallCid string `json:"call_cid"`
CallDurationSeconds int `json:"call_duration_seconds"`
CallSessionID string `json:"call_session_id"`
CallStatus string `json:"call_status"`
FirstStatsTime Timestamp `json:"first_stats_time"`
CreatedAt *Timestamp `json:"created_at,omitempty"`
MinUserRating *int `json:"min_user_rating,omitempty"`
QualityScore *int `json:"quality_score,omitempty"`
}
type CallTranscription ΒΆ
type CallTranscription struct {
EndTime Timestamp `json:"end_time"`
Filename string `json:"filename"`
SessionID string `json:"session_id"`
StartTime Timestamp `json:"start_time"`
Url string `json:"url"`
}
CallTranscription represents a transcription of a call.
type CallTranscriptionFailedEvent ΒΆ
type CallTranscriptionFailedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of event: "call.transcription_failed" in this case
Type string `json:"type"`
// The error message detailing why transcription failed.
Error *string `json:"error,omitempty"`
}
This event is sent when call transcription has failed
func (*CallTranscriptionFailedEvent) GetEventType ΒΆ
func (e *CallTranscriptionFailedEvent) GetEventType() string
type CallTranscriptionReadyEvent ΒΆ
type CallTranscriptionReadyEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
CallTranscription CallTranscription `json:"call_transcription"`
// The type of event: "call.transcription_ready" in this case
Type string `json:"type"`
}
This event is sent when call transcription is ready
func (*CallTranscriptionReadyEvent) GetEventType ΒΆ
func (e *CallTranscriptionReadyEvent) GetEventType() string
type CallTranscriptionStartedEvent ΒΆ
type CallTranscriptionStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of event: "call.transcription_started" in this case
Type string `json:"type"`
}
This event is sent when call transcription has started
func (*CallTranscriptionStartedEvent) GetEventType ΒΆ
func (e *CallTranscriptionStartedEvent) GetEventType() string
type CallTranscriptionStoppedEvent ΒΆ
type CallTranscriptionStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
EgressID string `json:"egress_id"`
// The type of event: "call.transcription_stopped" in this case
Type string `json:"type"`
}
This event is sent when call transcription has stopped
func (*CallTranscriptionStoppedEvent) GetEventType ΒΆ
func (e *CallTranscriptionStoppedEvent) GetEventType() string
type CallType ΒΆ
type CallType struct {
App int `json:"app"`
CreatedAt Timestamp `json:"created_at"`
ID int `json:"id"`
Name string `json:"name"`
RecordingExternalStorage string `json:"recording_external_storage"`
UpdatedAt Timestamp `json:"updated_at"`
NotificationSettings *NotificationSettings `json:"notification_settings,omitempty"`
Settings *CallSettings `json:"settings,omitempty"`
}
type CallTypeResponse ΒΆ
type CallTypeResponse struct {
// the time the call type was created
CreatedAt Timestamp `json:"created_at"`
// the name of the call type
Name string `json:"name"`
// the time the call type was last updated
UpdatedAt Timestamp `json:"updated_at"`
// the permissions granted to each role
Grants map[string][]string `json:"grants"`
NotificationSettings NotificationSettingsResponse `json:"notification_settings"`
Settings CallSettingsResponse `json:"settings"`
// the external storage for the call type
ExternalStorage *string `json:"external_storage,omitempty"`
}
CallTypeResponse is the payload for a call type.
type CallTypeRuleParameters ΒΆ
type CallTypeRuleParameters struct {
CallType *string `json:"call_type,omitempty"`
}
type CallUpdatedEvent ΒΆ
type CallUpdatedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
Call CallResponse `json:"call"`
// The capabilities by role for this call
CapabilitiesByRole map[string][]string `json:"capabilities_by_role"`
// The type of event: "call.updated" in this case
Type string `json:"type"`
}
This event is sent when a call is updated, clients should use this update the local state of the call. This event also contains the capabilities by role for the call, clients should update the own_capability for the current.
func (*CallUpdatedEvent) GetEventType ΒΆ
func (e *CallUpdatedEvent) GetEventType() string
type CallUserFeedbackSubmittedEvent ΒΆ
type CallUserFeedbackSubmittedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The rating given by the user (1-5)
Rating int `json:"rating"`
// Call session ID
SessionID string `json:"session_id"`
User UserResponse `json:"user"`
// The type of event, "call.user_feedback" in this case
Type string `json:"type"`
// The reason provided by the user for the rating
Reason *string `json:"reason,omitempty"`
Sdk *string `json:"sdk,omitempty"`
SdkVersion *string `json:"sdk_version,omitempty"`
// Custom data provided by the user
Custom map[string]any `json:"custom,omitempty"`
}
This event is sent when a user submits feedback for a call.
func (*CallUserFeedbackSubmittedEvent) GetEventType ΒΆ
func (e *CallUserFeedbackSubmittedEvent) GetEventType() string
type CallUserMutedEvent ΒΆ
type CallUserMutedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
FromUserID string `json:"from_user_id"`
Reason string `json:"reason"`
MutedUserIds []string `json:"muted_user_ids"`
// The type of event: "call.user_muted" in this case
Type string `json:"type"`
}
This event is sent when a call member is muted
func (*CallUserMutedEvent) GetEventType ΒΆ
func (e *CallUserMutedEvent) GetEventType() string
type CallsPerDayReport ΒΆ
type CallsPerDayReport struct {
Count int `json:"count"`
}
type CallsPerDayReportResponse ΒΆ
type CallsPerDayReportResponse struct {
Daily []DailyAggregateCallsPerDayReportResponse `json:"daily"`
}
type CampaignChannelMember ΒΆ
type CampaignCompletedEvent ΒΆ
type CampaignCompletedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Campaign *CampaignResponse `json:"campaign,omitempty"`
}
func (*CampaignCompletedEvent) GetEventType ΒΆ
func (e *CampaignCompletedEvent) GetEventType() string
type CampaignResponse ΒΆ
type CampaignResponse struct {
CreateChannels bool `json:"create_channels"`
CreatedAt Timestamp `json:"created_at"`
Description string `json:"description"`
ID string `json:"id"`
Name string `json:"name"`
SenderID string `json:"sender_id"`
SenderMode string `json:"sender_mode"`
SenderVisibility string `json:"sender_visibility"`
ShowChannels bool `json:"show_channels"`
SkipPush bool `json:"skip_push"`
SkipWebhook bool `json:"skip_webhook"`
Status string `json:"status"`
UpdatedAt Timestamp `json:"updated_at"`
SegmentIds []string `json:"segment_ids"`
Segments []Segment `json:"segments"`
UserIds []string `json:"user_ids"`
Users []UserResponse `json:"users"`
Stats CampaignStatsResponse `json:"stats"`
ScheduledFor *Timestamp `json:"scheduled_for,omitempty"`
StopAt *Timestamp `json:"stop_at,omitempty"`
ChannelTemplate *CampaignChannelTemplate `json:"channel_template,omitempty"`
MessageTemplate *CampaignMessageTemplate `json:"message_template,omitempty"`
Sender *UserResponse `json:"sender,omitempty"`
}
type CampaignStartedEvent ΒΆ
type CampaignStartedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Campaign *CampaignResponse `json:"campaign,omitempty"`
}
func (*CampaignStartedEvent) GetEventType ΒΆ
func (e *CampaignStartedEvent) GetEventType() string
type CampaignStatsResponse ΒΆ
type CampaignStatsResponse struct {
Progress float64 `json:"progress"`
StatsChannelsCreated int `json:"stats_channels_created"`
StatsCompletedAt Timestamp `json:"stats_completed_at"`
StatsMessagesSent int `json:"stats_messages_sent"`
StatsStartedAt Timestamp `json:"stats_started_at"`
StatsUsersRead int `json:"stats_users_read"`
StatsUsersSent int `json:"stats_users_sent"`
}
type CastPollVoteRequest ΒΆ
type CastPollVoteRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
Vote *VoteData `json:"vote"`
}
type ChannelBatchCompletedEvent ΒΆ
type ChannelBatchCompletedEvent struct {
BatchCreatedAt Timestamp `json:"batch_created_at"`
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
Operation string `json:"operation"`
Status string `json:"status"`
SuccessChannelsCount int `json:"success_channels_count"`
TaskID string `json:"task_id"`
FailedChannels []FailedChannelUpdates `json:"failed_channels"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*ChannelBatchCompletedEvent) GetEventType ΒΆ
func (e *ChannelBatchCompletedEvent) GetEventType() string
type ChannelBatchStartedEvent ΒΆ
type ChannelBatchStartedEvent struct {
BatchCreatedAt Timestamp `json:"batch_created_at"`
CreatedAt Timestamp `json:"created_at"`
FinishedAt Timestamp `json:"finished_at"`
Operation string `json:"operation"`
Status string `json:"status"`
SuccessChannelsCount int `json:"success_channels_count"`
TaskID string `json:"task_id"`
FailedChannels []FailedChannelUpdates `json:"failed_channels"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*ChannelBatchStartedEvent) GetEventType ΒΆ
func (e *ChannelBatchStartedEvent) GetEventType() string
type ChannelConfig ΒΆ
type ChannelConfig struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
// List of commands that channel supports
Commands []string `json:"commands"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
}
type ChannelConfigWithInfo ΒΆ
type ChannelConfigWithInfo struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
Commands []Command `json:"commands"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
Grants map[string][]string `json:"grants,omitempty"`
}
type ChannelCreatedEvent ΒΆ
type ChannelCreatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.created" in this case
Type string `json:"type"`
// The ID of the channel which was created
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was created
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was created
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully created.
func (*ChannelCreatedEvent) GetEventType ΒΆ
func (e *ChannelCreatedEvent) GetEventType() string
type ChannelDeletedEvent ΒΆ
type ChannelDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.deleted" in this case
Type string `json:"type"`
// The ID of the channel which was deleted
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was deleted
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was deleted
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully deleted.
func (*ChannelDeletedEvent) GetEventType ΒΆ
func (e *ChannelDeletedEvent) GetEventType() string
type ChannelExport ΒΆ
type ChannelExport struct {
Cid *string `json:"cid,omitempty"`
// Channel ID
ID *string `json:"id,omitempty"`
// Date to export messages since
MessagesSince *Timestamp `json:"messages_since,omitempty"`
// Date to export messages until
MessagesUntil *Timestamp `json:"messages_until,omitempty"`
// Channel type
Type *string `json:"type,omitempty"`
}
type ChannelFrozenEvent ΒΆ
type ChannelFrozenEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.frozen" in this case
Type string `json:"type"`
// The ID of the channel which was frozen
ChannelID *string `json:"channel_id,omitempty"`
// The type of the channel which was frozen
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was frozen
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a channel is successfully frozen.
func (*ChannelFrozenEvent) GetEventType ΒΆ
func (e *ChannelFrozenEvent) GetEventType() string
type ChannelGetOrCreateRequest ΒΆ
type ChannelGetOrCreateRequest struct {
// Whether this channel will be hidden for the user who created the channel or not
HideForCreator *bool `json:"hide_for_creator,omitempty"`
// Refresh channel state
State *bool `json:"state,omitempty"`
ThreadUnreadCounts *bool `json:"thread_unread_counts,omitempty"`
Data *ChannelInput `json:"data,omitempty"`
Members *PaginationParams `json:"members,omitempty"`
Messages *MessagePaginationParams `json:"messages,omitempty"`
Watchers *PaginationParams `json:"watchers,omitempty"`
}
type ChannelHiddenEvent ΒΆ
type ChannelHiddenEvent struct {
// Whether the history was cleared
ClearHistory bool `json:"clear_history"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.hidden" in this case
Type string `json:"type"`
// The ID of the channel which was hidden
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was hidden
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was hidden
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully hidden.
func (*ChannelHiddenEvent) GetEventType ΒΆ
func (e *ChannelHiddenEvent) GetEventType() string
type ChannelInput ΒΆ
type ChannelInput struct {
// Enable or disable auto translation
AutoTranslationEnabled *bool `json:"auto_translation_enabled,omitempty"`
// Switch auto translation language
AutoTranslationLanguage *string `json:"auto_translation_language,omitempty"`
CreatedByID *string `json:"created_by_id,omitempty"`
Disabled *bool `json:"disabled,omitempty"`
// Freeze or unfreeze the channel
Frozen *bool `json:"frozen,omitempty"`
// Team the channel belongs to (if multi-tenant mode is enabled)
Team *string `json:"team,omitempty"`
TruncatedByID *string `json:"truncated_by_id,omitempty"`
FilterTags []string `json:"filter_tags,omitempty"`
Invites []ChannelMemberRequest `json:"invites,omitempty"`
Members []ChannelMemberRequest `json:"members,omitempty"`
ConfigOverrides *ChannelConfig `json:"config_overrides,omitempty"`
CreatedBy *UserRequest `json:"created_by,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
}
type ChannelInputRequest ΒΆ
type ChannelInputRequest struct {
AutoTranslationEnabled *bool `json:"auto_translation_enabled,omitempty"`
AutoTranslationLanguage *string `json:"auto_translation_language,omitempty"`
Disabled *bool `json:"disabled,omitempty"`
Frozen *bool `json:"frozen,omitempty"`
Team *string `json:"team,omitempty"`
Invites []ChannelMemberRequest `json:"invites,omitempty"`
Members []ChannelMemberRequest `json:"members,omitempty"`
ConfigOverrides *ConfigOverridesRequest `json:"config_overrides,omitempty"`
CreatedBy *UserRequest `json:"created_by,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
}
type ChannelMemberRequest ΒΆ
type ChannelMemberRequest struct {
UserID string `json:"user_id"`
// Role of the member in the channel
ChannelRole *string `json:"channel_role,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ChannelMemberResponse ΒΆ
type ChannelMemberResponse struct {
// Whether member is banned this channel or not
Banned bool `json:"banned"`
// Role of the member in the channel
ChannelRole string `json:"channel_role"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
NotificationsMuted bool `json:"notifications_muted"`
// Whether member is shadow banned in this channel or not
ShadowBanned bool `json:"shadow_banned"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
Custom map[string]any `json:"custom"`
ArchivedAt *Timestamp `json:"archived_at,omitempty"`
// Expiration date of the ban
BanExpires *Timestamp `json:"ban_expires,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Date when invite was accepted
InviteAcceptedAt *Timestamp `json:"invite_accepted_at,omitempty"`
// Date when invite was rejected
InviteRejectedAt *Timestamp `json:"invite_rejected_at,omitempty"`
// Whether member was invited or not
Invited *bool `json:"invited,omitempty"`
// Whether member is channel moderator or not
IsModerator *bool `json:"is_moderator,omitempty"`
PinnedAt *Timestamp `json:"pinned_at,omitempty"`
// Permission level of the member in the channel (DEPRECATED: use channel_role instead). One of: member, moderator, admin, owner
Role *string `json:"role,omitempty"`
Status *string `json:"status,omitempty"`
UserID *string `json:"user_id,omitempty"`
DeletedMessages []string `json:"deleted_messages,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ChannelMessagesResponse ΒΆ
type ChannelMessagesResponse struct {
// List of messages
Messages []MessageResponse `json:"messages"`
Channel ChannelResponse `json:"channel"`
}
Response containing channel and its messages
type ChannelMute ΒΆ
type ChannelMute struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Date/time of mute expiration
Expires *Timestamp `json:"expires,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ChannelMutedEvent ΒΆ
type ChannelMutedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.muted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The mute objects
Mutes []ChannelMute `json:"mutes,omitempty"`
Mute *ChannelMute `json:"mute,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully muted.
func (*ChannelMutedEvent) GetEventType ΒΆ
func (e *ChannelMutedEvent) GetEventType() string
type ChannelOwnCapability ΒΆ
type ChannelOwnCapability string
const ( BAN_CHANNEL_MEMBERS ChannelOwnCapability = "ban-channel-members" CAST_POLL_VOTE ChannelOwnCapability = "cast-poll-vote" CONNECT_EVENTS ChannelOwnCapability = "connect-events" CREATE_ATTACHMENT ChannelOwnCapability = "create-attachment" DELETE_ANY_MESSAGE ChannelOwnCapability = "delete-any-message" DELETE_CHANNEL ChannelOwnCapability = "delete-channel" DELETE_OWN_MESSAGE ChannelOwnCapability = "delete-own-message" DELIVERY_EVENTS ChannelOwnCapability = "delivery-events" FLAG_MESSAGE ChannelOwnCapability = "flag-message" FREEZE_CHANNEL ChannelOwnCapability = "freeze-channel" JOIN_CHANNEL ChannelOwnCapability = "join-channel" LEAVE_CHANNEL ChannelOwnCapability = "leave-channel" MUTE_CHANNEL ChannelOwnCapability = "mute-channel" PIN_MESSAGE ChannelOwnCapability = "pin-message" QUERY_POLL_VOTES ChannelOwnCapability = "query-poll-votes" QUOTE_MESSAGE ChannelOwnCapability = "quote-message" READ_EVENTS ChannelOwnCapability = "read-events" SEARCH_MESSAGES ChannelOwnCapability = "search-messages" SEND_CUSTOM_EVENTS ChannelOwnCapability = "send-custom-events" SEND_LINKS ChannelOwnCapability = "send-links" SEND_MESSAGE ChannelOwnCapability = "send-message" SEND_POLL ChannelOwnCapability = "send-poll" SEND_REACTION ChannelOwnCapability = "send-reaction" SEND_REPLY ChannelOwnCapability = "send-reply" SEND_RESTRICTED_VISIBILITY_MESSAGE ChannelOwnCapability = "send-restricted-visibility-message" SEND_TYPING_EVENTS ChannelOwnCapability = "send-typing-events" SET_CHANNEL_COOLDOWN ChannelOwnCapability = "set-channel-cooldown" SHARE_LOCATION ChannelOwnCapability = "share-location" SKIP_SLOW_MODE ChannelOwnCapability = "skip-slow-mode" SLOW_MODE ChannelOwnCapability = "slow-mode" TYPING_EVENTS ChannelOwnCapability = "typing-events" UPDATE_ANY_MESSAGE ChannelOwnCapability = "update-any-message" UPDATE_CHANNEL ChannelOwnCapability = "update-channel" UPDATE_CHANNEL_MEMBERS ChannelOwnCapability = "update-channel-members" UPDATE_OWN_MESSAGE ChannelOwnCapability = "update-own-message" UPDATE_THREAD ChannelOwnCapability = "update-thread" UPLOAD_FILE ChannelOwnCapability = "upload-file" )
func (ChannelOwnCapability) String ΒΆ
func (c ChannelOwnCapability) String() string
type ChannelResponse ΒΆ
type ChannelResponse struct {
// Channel CID (<type>:<id>)
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Disabled bool `json:"disabled"`
// Whether channel is frozen or not
Frozen bool `json:"frozen"`
// Channel unique ID
ID string `json:"id"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Type of the channel
Type string `json:"type"`
// Custom data for this object
Custom map[string]any `json:"custom"`
// Whether auto translation is enabled or not
AutoTranslationEnabled *bool `json:"auto_translation_enabled,omitempty"`
// Language to translate to when auto translation is active
AutoTranslationLanguage *string `json:"auto_translation_language,omitempty"`
// Whether this channel is blocked by current user or not
Blocked *bool `json:"blocked,omitempty"`
// Cooldown period after sending each message
Cooldown *int `json:"cooldown,omitempty"`
// Date/time of deletion
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Whether this channel is hidden by current user or not
Hidden *bool `json:"hidden,omitempty"`
// Date since when the message history is accessible
HideMessagesBefore *Timestamp `json:"hide_messages_before,omitempty"`
// Date of the last message sent
LastMessageAt *Timestamp `json:"last_message_at,omitempty"`
// Number of members in the channel
MemberCount *int `json:"member_count,omitempty"`
// Number of messages in the channel
MessageCount *int `json:"message_count,omitempty"`
// Date of mute expiration
MuteExpiresAt *Timestamp `json:"mute_expires_at,omitempty"`
// Whether this channel is muted or not
Muted *bool `json:"muted,omitempty"`
// Team the channel belongs to (multi-tenant only)
Team *string `json:"team,omitempty"`
// Date of the latest truncation of the channel
TruncatedAt *Timestamp `json:"truncated_at,omitempty"`
// List of filter tags associated with the channel
FilterTags []string `json:"filter_tags,omitempty"`
// List of channel members (max 100)
Members []ChannelMemberResponse `json:"members,omitempty"`
// List of channel capabilities of authenticated user
OwnCapabilities []ChannelOwnCapability `json:"own_capabilities,omitempty"`
Config *ChannelConfigWithInfo `json:"config,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
TruncatedBy *UserResponse `json:"truncated_by,omitempty"`
}
Represents channel in chat
type ChannelStateResponse ΒΆ
type ChannelStateResponse struct {
Duration string `json:"duration"`
Members []ChannelMemberResponse `json:"members"`
Messages []MessageResponse `json:"messages"`
PinnedMessages []MessageResponse `json:"pinned_messages"`
Threads []ThreadStateResponse `json:"threads"`
Hidden *bool `json:"hidden,omitempty"`
HideMessagesBefore *Timestamp `json:"hide_messages_before,omitempty"`
WatcherCount *int `json:"watcher_count,omitempty"`
ActiveLiveLocations []SharedLocationResponseData `json:"active_live_locations,omitempty"`
PendingMessages []PendingMessageResponse `json:"pending_messages,omitempty"`
Read []ReadStateResponse `json:"read,omitempty"`
Watchers []UserResponse `json:"watchers,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
Membership *ChannelMemberResponse `json:"membership,omitempty"`
PushPreferences *ChannelPushPreferencesResponse `json:"push_preferences,omitempty"`
}
type ChannelStateResponseFields ΒΆ
type ChannelStateResponseFields struct {
// List of channel members
Members []ChannelMemberResponse `json:"members"`
// List of channel messages
Messages []MessageResponse `json:"messages"`
// List of pinned messages in the channel
PinnedMessages []MessageResponse `json:"pinned_messages"`
Threads []ThreadStateResponse `json:"threads"`
// Whether this channel is hidden or not
Hidden *bool `json:"hidden,omitempty"`
// Messages before this date are hidden from the user
HideMessagesBefore *Timestamp `json:"hide_messages_before,omitempty"`
// Number of channel watchers
WatcherCount *int `json:"watcher_count,omitempty"`
// Active live locations in the channel
ActiveLiveLocations []SharedLocationResponseData `json:"active_live_locations,omitempty"`
// Pending messages that this user has sent
PendingMessages []PendingMessageResponse `json:"pending_messages,omitempty"`
// List of read states
Read []ReadStateResponse `json:"read,omitempty"`
// List of user who is watching the channel
Watchers []UserResponse `json:"watchers,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
Membership *ChannelMemberResponse `json:"membership,omitempty"`
PushPreferences *ChannelPushPreferencesResponse `json:"push_preferences,omitempty"`
}
type ChannelTruncatedEvent ΒΆ
type ChannelTruncatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.truncated" in this case
Type string `json:"type"`
// The ID of the channel which was truncated
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was truncated
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was truncated
Cid *string `json:"cid,omitempty"`
MessageID *string `json:"message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully truncated.
func (*ChannelTruncatedEvent) GetEventType ΒΆ
func (e *ChannelTruncatedEvent) GetEventType() string
type ChannelTypeConfig ΒΆ
type ChannelTypeConfig struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
Commands []Command `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
Grants map[string][]string `json:"grants"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
}
type ChannelUnFrozenEvent ΒΆ
type ChannelUnFrozenEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.unfrozen" in this case
Type string `json:"type"`
// The ID of the channel which was unfrozen
ChannelID *string `json:"channel_id,omitempty"`
// The type of the channel which was unfrozen
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was unfrozen
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a channel is successfully unfrozen.
func (*ChannelUnFrozenEvent) GetEventType ΒΆ
func (e *ChannelUnFrozenEvent) GetEventType() string
type ChannelUnmutedEvent ΒΆ
type ChannelUnmutedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.unmuted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The mute objects
Mutes []ChannelMute `json:"mutes,omitempty"`
Mute *ChannelMute `json:"mute,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully unmuted.
func (*ChannelUnmutedEvent) GetEventType ΒΆ
func (e *ChannelUnmutedEvent) GetEventType() string
type ChannelUpdatedEvent ΒΆ
type ChannelUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.updated" in this case
Type string `json:"type"`
// The ID of the channel which was updated
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was updated
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was updated
Cid *string `json:"cid,omitempty"`
MessageID *string `json:"message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully updated.
func (*ChannelUpdatedEvent) GetEventType ΒΆ
func (e *ChannelUpdatedEvent) GetEventType() string
type ChannelVisibleEvent ΒΆ
type ChannelVisibleEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "channel.visible" in this case
Type string `json:"type"`
// The ID of the channel which was shown
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was shown
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was shown
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel is successfully shown.
func (*ChannelVisibleEvent) GetEventType ΒΆ
func (e *ChannelVisibleEvent) GetEventType() string
type Channels ΒΆ
type Channels struct {
// contains filtered or unexported fields
}
func NewChannel ΒΆ
func NewChannel(channelType string, channelD string, client *ChatClient) *Channels
func (*Channels) Delete ΒΆ
func (c *Channels) Delete(ctx context.Context, request *DeleteChannelRequest) (*StreamResponse[DeleteChannelResponse], error)
func (*Channels) DeleteChannelFile ΒΆ
func (c *Channels) DeleteChannelFile(ctx context.Context, request *DeleteChannelFileRequest) (*StreamResponse[Response], error)
func (*Channels) DeleteChannelImage ΒΆ
func (c *Channels) DeleteChannelImage(ctx context.Context, request *DeleteChannelImageRequest) (*StreamResponse[Response], error)
func (*Channels) DeleteDraft ΒΆ
func (c *Channels) DeleteDraft(ctx context.Context, request *DeleteDraftRequest) (*StreamResponse[Response], error)
func (*Channels) GetDraft ΒΆ
func (c *Channels) GetDraft(ctx context.Context, request *GetDraftRequest) (*StreamResponse[GetDraftResponse], error)
func (*Channels) GetManyMessages ΒΆ
func (c *Channels) GetManyMessages(ctx context.Context, request *GetManyMessagesRequest) (*StreamResponse[GetManyMessagesResponse], error)
func (*Channels) GetOrCreate ΒΆ
func (c *Channels) GetOrCreate(ctx context.Context, request *GetOrCreateChannelRequest) (*StreamResponse[ChannelStateResponse], error)
func (*Channels) Hide ΒΆ
func (c *Channels) Hide(ctx context.Context, request *HideChannelRequest) (*StreamResponse[HideChannelResponse], error)
func (*Channels) MarkRead ΒΆ
func (c *Channels) MarkRead(ctx context.Context, request *MarkReadRequest) (*StreamResponse[MarkReadResponse], error)
func (*Channels) MarkUnread ΒΆ
func (c *Channels) MarkUnread(ctx context.Context, request *MarkUnreadRequest) (*StreamResponse[Response], error)
func (*Channels) SendEvent ΒΆ
func (c *Channels) SendEvent(ctx context.Context, request *SendEventRequest) (*StreamResponse[EventResponse], error)
func (*Channels) SendMessage ΒΆ
func (c *Channels) SendMessage(ctx context.Context, request *SendMessageRequest) (*StreamResponse[SendMessageResponse], error)
func (*Channels) Show ΒΆ
func (c *Channels) Show(ctx context.Context, request *ShowChannelRequest) (*StreamResponse[ShowChannelResponse], error)
func (*Channels) Truncate ΒΆ
func (c *Channels) Truncate(ctx context.Context, request *TruncateChannelRequest) (*StreamResponse[TruncateChannelResponse], error)
func (*Channels) Update ΒΆ
func (c *Channels) Update(ctx context.Context, request *UpdateChannelRequest) (*StreamResponse[UpdateChannelResponse], error)
func (*Channels) UpdateChannelPartial ΒΆ
func (c *Channels) UpdateChannelPartial(ctx context.Context, request *UpdateChannelPartialRequest) (*StreamResponse[UpdateChannelPartialResponse], error)
func (*Channels) UpdateMemberPartial ΒΆ
func (c *Channels) UpdateMemberPartial(ctx context.Context, request *UpdateMemberPartialRequest) (*StreamResponse[UpdateMemberPartialResponse], error)
func (*Channels) UploadChannelFile ΒΆ
func (c *Channels) UploadChannelFile(ctx context.Context, request *UploadChannelFileRequest) (*StreamResponse[UploadChannelFileResponse], error)
func (*Channels) UploadChannelImage ΒΆ
func (c *Channels) UploadChannelImage(ctx context.Context, request *UploadChannelImageRequest) (*StreamResponse[UploadChannelResponse], error)
type ChatActivityStatsResponse ΒΆ
type ChatActivityStatsResponse struct {
Messages *MessageStatsResponse `json:"Messages,omitempty"`
}
type ChatClient ΒΆ
type ChatClient struct {
// contains filtered or unexported fields
}
func NewChatClient ΒΆ
func NewChatClient(client *Client) *ChatClient
func (*ChatClient) CastPollVote ΒΆ
func (c *ChatClient) CastPollVote(ctx context.Context, messageID string, pollID string, request *CastPollVoteRequest) (*StreamResponse[PollVoteResponse], error)
Cast a vote on a poll
Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed
func (*ChatClient) Channel ΒΆ
func (c *ChatClient) Channel(channelType, channelD string) *Channels
func (*ChatClient) CommitMessage ΒΆ
func (c *ChatClient) CommitMessage(ctx context.Context, id string, request *CommitMessageRequest) (*StreamResponse[MessageActionResponse], error)
Commits a pending message, which will make it visible in the channel
Sends events: - message.new - message.updated - message.new - message.updated
func (*ChatClient) CreateChannelType ΒΆ
func (c *ChatClient) CreateChannelType(ctx context.Context, request *CreateChannelTypeRequest) (*StreamResponse[CreateChannelTypeResponse], error)
Creates new channel type
func (*ChatClient) CreateCommand ΒΆ
func (c *ChatClient) CreateCommand(ctx context.Context, request *CreateCommandRequest) (*StreamResponse[CreateCommandResponse], error)
Creates custom chat command
func (*ChatClient) CreateReminder ΒΆ
func (c *ChatClient) CreateReminder(ctx context.Context, messageID string, request *CreateReminderRequest) (*StreamResponse[ReminderResponseData], error)
Creates a new reminder
Sends events: - reminder.created
func (*ChatClient) DeleteChannel ΒΆ
func (c *ChatClient) DeleteChannel(ctx context.Context, _type string, id string, request *DeleteChannelRequest) (*StreamResponse[DeleteChannelResponse], error)
Deletes channel
Sends events: - channel.deleted - channel.deleted
func (*ChatClient) DeleteChannelFile ΒΆ
func (c *ChatClient) DeleteChannelFile(ctx context.Context, _type string, id string, request *DeleteChannelFileRequest) (*StreamResponse[Response], error)
Deletes previously uploaded file
func (*ChatClient) DeleteChannelImage ΒΆ
func (c *ChatClient) DeleteChannelImage(ctx context.Context, _type string, id string, request *DeleteChannelImageRequest) (*StreamResponse[Response], error)
Deletes previously uploaded image
func (*ChatClient) DeleteChannelType ΒΆ
func (c *ChatClient) DeleteChannelType(ctx context.Context, name string, request *DeleteChannelTypeRequest) (*StreamResponse[Response], error)
Deletes channel type
func (*ChatClient) DeleteChannels ΒΆ
func (c *ChatClient) DeleteChannels(ctx context.Context, request *DeleteChannelsRequest) (*StreamResponse[DeleteChannelsResponse], error)
Allows to delete several channels at once asynchronously
Sends events: - channel.deleted - channel.deleted
func (*ChatClient) DeleteCommand ΒΆ
func (c *ChatClient) DeleteCommand(ctx context.Context, name string, request *DeleteCommandRequest) (*StreamResponse[DeleteCommandResponse], error)
Deletes custom chat command
func (*ChatClient) DeleteDraft ΒΆ
func (c *ChatClient) DeleteDraft(ctx context.Context, _type string, id string, request *DeleteDraftRequest) (*StreamResponse[Response], error)
Deletes a draft
Sends events: - draft.deleted
func (*ChatClient) DeleteMessage ΒΆ
func (c *ChatClient) DeleteMessage(ctx context.Context, id string, request *DeleteMessageRequest) (*StreamResponse[DeleteMessageResponse], error)
Deletes message
Sends events: - message.deleted - message.deleted
func (*ChatClient) DeletePollVote ΒΆ
func (c *ChatClient) DeletePollVote(ctx context.Context, messageID string, pollID string, voteID string, request *DeletePollVoteRequest) (*StreamResponse[PollVoteResponse], error)
Delete a vote from a poll
Sends events: - feeds.poll.vote_removed - poll.vote_removed
func (*ChatClient) DeleteReaction ΒΆ
func (c *ChatClient) DeleteReaction(ctx context.Context, id string, _type string, request *DeleteReactionRequest) (*StreamResponse[DeleteReactionResponse], error)
Removes user reaction from the message
Sends events: - reaction.deleted
func (*ChatClient) DeleteReminder ΒΆ
func (c *ChatClient) DeleteReminder(ctx context.Context, messageID string, request *DeleteReminderRequest) (*StreamResponse[DeleteReminderResponse], error)
Deletes a user's created reminder
Sends events: - reminder.deleted
func (*ChatClient) DeleteSegment ΒΆ
func (c *ChatClient) DeleteSegment(ctx context.Context, id string, request *DeleteSegmentRequest) (*StreamResponse[Response], error)
Delete a segment
func (*ChatClient) DeleteSegmentTargets ΒΆ
func (c *ChatClient) DeleteSegmentTargets(ctx context.Context, id string, request *DeleteSegmentTargetsRequest) (*StreamResponse[Response], error)
Delete targets from a segment
func (*ChatClient) EphemeralMessageUpdate ΒΆ
func (c *ChatClient) EphemeralMessageUpdate(ctx context.Context, id string, request *EphemeralMessageUpdateRequest) (*StreamResponse[UpdateMessagePartialResponse], error)
Updates message fields without storing in database, only sends update event
Sends events: - message.updated - message.updated
func (*ChatClient) ExportChannels ΒΆ
func (c *ChatClient) ExportChannels(ctx context.Context, request *ExportChannelsRequest) (*StreamResponse[ExportChannelsResponse], error)
Exports channel data to JSON file
func (*ChatClient) GetCampaign ΒΆ
func (c *ChatClient) GetCampaign(ctx context.Context, id string, request *GetCampaignRequest) (*StreamResponse[GetCampaignResponse], error)
Get campaign by ID.
func (*ChatClient) GetChannelType ΒΆ
func (c *ChatClient) GetChannelType(ctx context.Context, name string, request *GetChannelTypeRequest) (*StreamResponse[GetChannelTypeResponse], error)
Gets channel type
func (*ChatClient) GetCommand ΒΆ
func (c *ChatClient) GetCommand(ctx context.Context, name string, request *GetCommandRequest) (*StreamResponse[GetCommandResponse], error)
Returns custom command by its name
func (*ChatClient) GetDraft ΒΆ
func (c *ChatClient) GetDraft(ctx context.Context, _type string, id string, request *GetDraftRequest) (*StreamResponse[GetDraftResponse], error)
Get a draft
func (*ChatClient) GetManyMessages ΒΆ
func (c *ChatClient) GetManyMessages(ctx context.Context, _type string, id string, request *GetManyMessagesRequest) (*StreamResponse[GetManyMessagesResponse], error)
Returns list messages found by IDs
func (*ChatClient) GetMessage ΒΆ
func (c *ChatClient) GetMessage(ctx context.Context, id string, request *GetMessageRequest) (*StreamResponse[GetMessageResponse], error)
Returns message by ID
func (*ChatClient) GetOrCreateChannel ΒΆ
func (c *ChatClient) GetOrCreateChannel(ctx context.Context, _type string, id string, request *GetOrCreateChannelRequest) (*StreamResponse[ChannelStateResponse], error)
This Method creates a channel or returns an existing one with matching attributes
Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start - channel.created - user.watching.start
func (*ChatClient) GetOrCreateDistinctChannel ΒΆ
func (c *ChatClient) GetOrCreateDistinctChannel(ctx context.Context, _type string, request *GetOrCreateDistinctChannelRequest) (*StreamResponse[ChannelStateResponse], error)
This Method creates a channel or returns an existing one with matching attributes
Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start - channel.created - user.watching.start
func (*ChatClient) GetReactions ΒΆ
func (c *ChatClient) GetReactions(ctx context.Context, id string, request *GetReactionsRequest) (*StreamResponse[GetReactionsResponse], error)
Returns list of reactions of specific message
func (*ChatClient) GetReplies ΒΆ
func (c *ChatClient) GetReplies(ctx context.Context, parentID string, request *GetRepliesRequest) (*StreamResponse[GetRepliesResponse], error)
Returns replies (thread) of the message
func (*ChatClient) GetSegment ΒΆ
func (c *ChatClient) GetSegment(ctx context.Context, id string, request *GetSegmentRequest) (*StreamResponse[GetSegmentResponse], error)
Get segment
func (*ChatClient) GetThread ΒΆ
func (c *ChatClient) GetThread(ctx context.Context, messageID string, request *GetThreadRequest) (*StreamResponse[GetThreadResponse], error)
Return a specific thread
func (*ChatClient) HideChannel ΒΆ
func (c *ChatClient) HideChannel(ctx context.Context, _type string, id string, request *HideChannelRequest) (*StreamResponse[HideChannelResponse], error)
Marks channel as hidden for current user
Sends events: - channel.hidden - channel.hidden
func (*ChatClient) ListChannelTypes ΒΆ
func (c *ChatClient) ListChannelTypes(ctx context.Context, request *ListChannelTypesRequest) (*StreamResponse[ListChannelTypesResponse], error)
Lists all available channel types
func (*ChatClient) ListCommands ΒΆ
func (c *ChatClient) ListCommands(ctx context.Context, request *ListCommandsRequest) (*StreamResponse[ListCommandsResponse], error)
Returns all custom commands
func (*ChatClient) MarkChannelsRead ΒΆ
func (c *ChatClient) MarkChannelsRead(ctx context.Context, request *MarkChannelsReadRequest) (*StreamResponse[MarkReadResponse], error)
Marks channels as read up to the specific message. If no channels is given, mark all channel as read
Sends events: - message.read - message.read
func (*ChatClient) MarkDelivered ΒΆ
func (c *ChatClient) MarkDelivered(ctx context.Context, request *MarkDeliveredRequest) (*StreamResponse[MarkDeliveredResponse], error)
Mark the status of a channel message delivered.
func (*ChatClient) MarkRead ΒΆ
func (c *ChatClient) MarkRead(ctx context.Context, _type string, id string, request *MarkReadRequest) (*StreamResponse[MarkReadResponse], error)
Marks channel as read up to the specific message
Sends events: - message.read - message.read
func (*ChatClient) MarkUnread ΒΆ
func (c *ChatClient) MarkUnread(ctx context.Context, _type string, id string, request *MarkUnreadRequest) (*StreamResponse[Response], error)
Marks channel as unread from a specific message
func (*ChatClient) MuteChannel ΒΆ
func (c *ChatClient) MuteChannel(ctx context.Context, request *MuteChannelRequest) (*StreamResponse[MuteChannelResponse], error)
Mutes channel for user
Sends events: - channel.muted - channel.muted
func (*ChatClient) QueryBannedUsers ΒΆ
func (c *ChatClient) QueryBannedUsers(ctx context.Context, request *QueryBannedUsersRequest) (*StreamResponse[QueryBannedUsersResponse], error)
Find and filter channel scoped or global user bans
func (*ChatClient) QueryCampaigns ΒΆ
func (c *ChatClient) QueryCampaigns(ctx context.Context, request *QueryCampaignsRequest) (*StreamResponse[QueryCampaignsResponse], error)
Query campaigns with filter query
func (*ChatClient) QueryChannels ΒΆ
func (c *ChatClient) QueryChannels(ctx context.Context, request *QueryChannelsRequest) (*StreamResponse[QueryChannelsResponse], error)
Query channels with filter query
func (*ChatClient) QueryDrafts ΒΆ
func (c *ChatClient) QueryDrafts(ctx context.Context, request *QueryDraftsRequest) (*StreamResponse[QueryDraftsResponse], error)
Queries draft messages for a user
func (*ChatClient) QueryFutureChannelBans ΒΆ
func (c *ChatClient) QueryFutureChannelBans(ctx context.Context, request *QueryFutureChannelBansRequest) (*StreamResponse[QueryFutureChannelBansResponse], error)
Find and filter future channel bans created by the authenticated user
func (*ChatClient) QueryMembers ΒΆ
func (c *ChatClient) QueryMembers(ctx context.Context, request *QueryMembersRequest) (*StreamResponse[MembersResponse], error)
Find and filter channel members
func (*ChatClient) QueryMessageFlags ΒΆ
func (c *ChatClient) QueryMessageFlags(ctx context.Context, request *QueryMessageFlagsRequest) (*StreamResponse[QueryMessageFlagsResponse], error)
Find and filter message flags
func (*ChatClient) QueryMessageHistory ΒΆ
func (c *ChatClient) QueryMessageHistory(ctx context.Context, request *QueryMessageHistoryRequest) (*StreamResponse[QueryMessageHistoryResponse], error)
Queries history for one message
func (*ChatClient) QueryReactions ΒΆ
func (c *ChatClient) QueryReactions(ctx context.Context, id string, request *QueryReactionsRequest) (*StreamResponse[QueryReactionsResponse], error)
Get reactions on a message
func (*ChatClient) QueryReminders ΒΆ
func (c *ChatClient) QueryReminders(ctx context.Context, request *QueryRemindersRequest) (*StreamResponse[QueryRemindersResponse], error)
Queries reminders
func (*ChatClient) QuerySegmentTargets ΒΆ
func (c *ChatClient) QuerySegmentTargets(ctx context.Context, id string, request *QuerySegmentTargetsRequest) (*StreamResponse[QuerySegmentTargetsResponse], error)
Query segment targets
func (*ChatClient) QuerySegments ΒΆ
func (c *ChatClient) QuerySegments(ctx context.Context, request *QuerySegmentsRequest) (*StreamResponse[QuerySegmentsResponse], error)
Query segments
func (*ChatClient) QueryTeamUsageStats ΒΆ
func (c *ChatClient) QueryTeamUsageStats(ctx context.Context, request *QueryTeamUsageStatsRequest) (*StreamResponse[QueryTeamUsageStatsResponse], error)
Retrieve team-level usage statistics from the warehouse database. Returns all 16 metrics grouped by team with cursor-based pagination.
**Date Range Options (mutually exclusive):** - Use 'month' parameter (YYYY-MM format) for monthly aggregated values - Use 'start_date'/'end_date' parameters (YYYY-MM-DD format) for daily breakdown - If neither provided, defaults to current month (monthly mode)
This endpoint is server-side only.
func (*ChatClient) QueryThreads ΒΆ
func (c *ChatClient) QueryThreads(ctx context.Context, request *QueryThreadsRequest) (*StreamResponse[QueryThreadsResponse], error)
Returns the list of threads for specific user
func (*ChatClient) RunMessageAction ΒΆ
func (c *ChatClient) RunMessageAction(ctx context.Context, id string, request *RunMessageActionRequest) (*StreamResponse[MessageActionResponse], error)
Executes message command action with given parameters
Sends events: - message.new - message.new
func (*ChatClient) Search ΒΆ
func (c *ChatClient) Search(ctx context.Context, request *SearchRequest) (*StreamResponse[SearchResponse], error)
Search messages across channels
func (*ChatClient) SegmentTargetExists ΒΆ
func (c *ChatClient) SegmentTargetExists(ctx context.Context, id string, targetID string, request *SegmentTargetExistsRequest) (*StreamResponse[Response], error)
Check whether a target exists in a segment. Returns 200 if the target exists, 404 otherwise
func (*ChatClient) SendEvent ΒΆ
func (c *ChatClient) SendEvent(ctx context.Context, _type string, id string, request *SendEventRequest) (*StreamResponse[EventResponse], error)
Sends event to the channel
func (*ChatClient) SendMessage ΒΆ
func (c *ChatClient) SendMessage(ctx context.Context, _type string, id string, request *SendMessageRequest) (*StreamResponse[SendMessageResponse], error)
Sends new message to the specified channel
Sends events: - message.new - message.updated - message.new - message.updated
func (*ChatClient) SendReaction ΒΆ
func (c *ChatClient) SendReaction(ctx context.Context, id string, request *SendReactionRequest) (*StreamResponse[SendReactionResponse], error)
Sends reaction to specified message
Sends events: - reaction.new - reaction.updated
func (*ChatClient) SendUserCustomEvent ΒΆ
func (c *ChatClient) SendUserCustomEvent(ctx context.Context, userID string, request *SendUserCustomEventRequest) (*StreamResponse[Response], error)
Sends a custom event to a user
Sends events: - * - *
func (*ChatClient) ShowChannel ΒΆ
func (c *ChatClient) ShowChannel(ctx context.Context, _type string, id string, request *ShowChannelRequest) (*StreamResponse[ShowChannelResponse], error)
Shows previously hidden channel
Sends events: - channel.visible - channel.visible
func (*ChatClient) StartCampaign ΒΆ
func (c *ChatClient) StartCampaign(ctx context.Context, id string, request *StartCampaignRequest) (*StreamResponse[StartCampaignResponse], error)
Starts or schedules a campaign
func (*ChatClient) StopCampaign ΒΆ
func (c *ChatClient) StopCampaign(ctx context.Context, id string, request *StopCampaignRequest) (*StreamResponse[CampaignResponse], error)
Stops a campaign
func (*ChatClient) TranslateMessage ΒΆ
func (c *ChatClient) TranslateMessage(ctx context.Context, id string, request *TranslateMessageRequest) (*StreamResponse[MessageActionResponse], error)
Translates message to a given language using automated translation software
Sends events: - message.updated - message.updated
func (*ChatClient) TruncateChannel ΒΆ
func (c *ChatClient) TruncateChannel(ctx context.Context, _type string, id string, request *TruncateChannelRequest) (*StreamResponse[TruncateChannelResponse], error)
Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members.
Sends events: - channel.truncated - channel.truncated
func (*ChatClient) UndeleteMessage ΒΆ
func (c *ChatClient) UndeleteMessage(ctx context.Context, id string, request *UndeleteMessageRequest) (*StreamResponse[UndeleteMessageResponse], error)
Undelete a message that was previously soft-deleted
Sends events: - message.undeleted - message.undeleted
func (*ChatClient) UnmuteChannel ΒΆ
func (c *ChatClient) UnmuteChannel(ctx context.Context, request *UnmuteChannelRequest) (*StreamResponse[UnmuteResponse], error)
Unmutes channel for user
Sends events: - channel.unmuted - channel.unmuted
func (*ChatClient) UnreadCounts ΒΆ
func (c *ChatClient) UnreadCounts(ctx context.Context, request *UnreadCountsRequest) (*StreamResponse[WrappedUnreadCountsResponse], error)
Fetch unread counts for a single user
func (*ChatClient) UnreadCountsBatch ΒΆ
func (c *ChatClient) UnreadCountsBatch(ctx context.Context, request *UnreadCountsBatchRequest) (*StreamResponse[UnreadCountsBatchResponse], error)
Fetch unread counts in batch for multiple users in one call
func (*ChatClient) UpdateChannel ΒΆ
func (c *ChatClient) UpdateChannel(ctx context.Context, _type string, id string, request *UpdateChannelRequest) (*StreamResponse[UpdateChannelResponse], error)
Change channel data
Sends events: - channel.updated - member.added - member.removed - member.updated - message.new - channel.updated - message.new
func (*ChatClient) UpdateChannelPartial ΒΆ
func (c *ChatClient) UpdateChannelPartial(ctx context.Context, _type string, id string, request *UpdateChannelPartialRequest) (*StreamResponse[UpdateChannelPartialResponse], error)
Updates certain fields of the channel
Sends events: - channel.updated - channel.updated
func (*ChatClient) UpdateChannelType ΒΆ
func (c *ChatClient) UpdateChannelType(ctx context.Context, name string, request *UpdateChannelTypeRequest) (*StreamResponse[UpdateChannelTypeResponse], error)
Updates channel type
func (*ChatClient) UpdateCommand ΒΆ
func (c *ChatClient) UpdateCommand(ctx context.Context, name string, request *UpdateCommandRequest) (*StreamResponse[UpdateCommandResponse], error)
Updates custom chat command
func (*ChatClient) UpdateMemberPartial ΒΆ
func (c *ChatClient) UpdateMemberPartial(ctx context.Context, _type string, id string, request *UpdateMemberPartialRequest) (*StreamResponse[UpdateMemberPartialResponse], error)
func (*ChatClient) UpdateMessage ΒΆ
func (c *ChatClient) UpdateMessage(ctx context.Context, id string, request *UpdateMessageRequest) (*StreamResponse[UpdateMessageResponse], error)
Updates message with new data
Sends events: - message.updated - message.updated
func (*ChatClient) UpdateMessagePartial ΒΆ
func (c *ChatClient) UpdateMessagePartial(ctx context.Context, id string, request *UpdateMessagePartialRequest) (*StreamResponse[UpdateMessagePartialResponse], error)
Updates certain fields of the message
Sends events: - message.updated - message.updated
func (*ChatClient) UpdateReminder ΒΆ
func (c *ChatClient) UpdateReminder(ctx context.Context, messageID string, request *UpdateReminderRequest) (*StreamResponse[UpdateReminderResponse], error)
Updates an existing reminder
Sends events: - reminder.updated
func (*ChatClient) UpdateThreadPartial ΒΆ
func (c *ChatClient) UpdateThreadPartial(ctx context.Context, messageID string, request *UpdateThreadPartialRequest) (*StreamResponse[UpdateThreadPartialResponse], error)
Updates certain fields of the thread
Sends events: - thread.updated - thread.updated
func (*ChatClient) UploadChannelFile ΒΆ
func (c *ChatClient) UploadChannelFile(ctx context.Context, _type string, id string, request *UploadChannelFileRequest) (*StreamResponse[UploadChannelFileResponse], error)
Uploads file
func (*ChatClient) UploadChannelImage ΒΆ
func (c *ChatClient) UploadChannelImage(ctx context.Context, _type string, id string, request *UploadChannelImageRequest) (*StreamResponse[UploadChannelResponse], error)
Uploads image
type CheckExternalStorageRequest ΒΆ
type CheckExternalStorageRequest struct {
}
type CheckExternalStorageResponse ΒΆ
type CheckExternalStorageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
FileUrl string `json:"file_url"`
}
Basic response information
type CheckPushRequest ΒΆ
type CheckPushRequest struct {
ApnTemplate *string `json:"apn_template"`
EventType *string `json:"event_type"`
FirebaseDataTemplate *string `json:"firebase_data_template"`
FirebaseTemplate *string `json:"firebase_template"`
MessageID *string `json:"message_id"`
PushProviderName *string `json:"push_provider_name"`
PushProviderType *string `json:"push_provider_type"`
SkipDevices *bool `json:"skip_devices"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type CheckPushResponse ΒΆ
type CheckPushResponse struct {
Duration string `json:"duration"`
// The event type that was tested
EventType *string `json:"event_type,omitempty"`
RenderedApnTemplate *string `json:"rendered_apn_template,omitempty"`
RenderedFirebaseTemplate *string `json:"rendered_firebase_template,omitempty"`
// Don't require existing devices to render templates
SkipDevices *bool `json:"skip_devices,omitempty"`
// List of general errors
GeneralErrors []string `json:"general_errors,omitempty"`
// Object with device errors
DeviceErrors map[string]DeviceErrorInfo `json:"device_errors,omitempty"`
RenderedMessage map[string]string `json:"rendered_message,omitempty"`
}
type CheckRequest ΒΆ
type CheckRequest struct {
EntityCreatorID string `json:"entity_creator_id"`
EntityID string `json:"entity_id"`
EntityType string `json:"entity_type"`
ConfigKey *string `json:"config_key"`
ConfigTeam *string `json:"config_team"`
TestMode *bool `json:"test_mode"`
UserID *string `json:"user_id"`
Config *ModerationConfig `json:"config"`
ModerationPayload *ModerationPayload `json:"moderation_payload"`
Options map[string]any `json:"options"`
User *UserRequest `json:"user"`
}
type CheckResponse ΒΆ
type CheckResponse struct {
Duration string `json:"duration"`
// Suggested action based on moderation results
RecommendedAction string `json:"recommended_action"`
// Status of the moderation check (completed or pending)
Status string `json:"status"`
// ID of the running moderation task
TaskID *string `json:"task_id,omitempty"`
Item *ReviewQueueItemResponse `json:"item,omitempty"`
}
type CheckSNSRequest ΒΆ
type CheckSNSResponse ΒΆ
type CheckSQSRequest ΒΆ
type CheckSQSResponse ΒΆ
type Claims ΒΆ
type Claims struct {
Role string // Role assigned to the user
ChannelCIDs []string // Channel IDs the user has access to
CallCIDs []string // Call IDs the user has access to
CustomClaims map[string]interface{} // Additional custom claims
}
Claims contains optional parameters for token creation.
type Client ΒΆ
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AddUserGroupMembers ΒΆ
func (c *Client) AddUserGroupMembers(ctx context.Context, id string, request *AddUserGroupMembersRequest) (*StreamResponse[AddUserGroupMembersResponse], error)
Adds members to a user group. All user IDs must exist. The operation is all-or-nothing.
func (*Client) BlockUsers ΒΆ
func (c *Client) BlockUsers(ctx context.Context, request *BlockUsersRequest) (*StreamResponse[BlockUsersResponse], error)
Block users
func (*Client) CheckExternalStorage ΒΆ
func (c *Client) CheckExternalStorage(ctx context.Context, name string, request *CheckExternalStorageRequest) (*StreamResponse[CheckExternalStorageResponse], error)
func (*Client) CheckPush ΒΆ
func (c *Client) CheckPush(ctx context.Context, request *CheckPushRequest) (*StreamResponse[CheckPushResponse], error)
Sends a test message via push, this is a test endpoint to verify your push settings
func (*Client) CheckSNS ΒΆ
func (c *Client) CheckSNS(ctx context.Context, request *CheckSNSRequest) (*StreamResponse[CheckSNSResponse], error)
Validates Amazon SNS configuration
func (*Client) CheckSQS ΒΆ
func (c *Client) CheckSQS(ctx context.Context, request *CheckSQSRequest) (*StreamResponse[CheckSQSResponse], error)
Validates Amazon SQS credentials
func (*Client) CreateBlockList ΒΆ
func (c *Client) CreateBlockList(ctx context.Context, request *CreateBlockListRequest) (*StreamResponse[CreateBlockListResponse], error)
Creates a new application blocklist, once created the blocklist can be used by any channel type
func (*Client) CreateDevice ΒΆ
func (c *Client) CreateDevice(ctx context.Context, request *CreateDeviceRequest) (*StreamResponse[Response], error)
Adds a new device to a user, if the same device already exists the call will have no effect
func (*Client) CreateExternalStorage ΒΆ
func (c *Client) CreateExternalStorage(ctx context.Context, request *CreateExternalStorageRequest) (*StreamResponse[CreateExternalStorageResponse], error)
Creates new external storage
func (*Client) CreateGuest ΒΆ
func (c *Client) CreateGuest(ctx context.Context, request *CreateGuestRequest) (*StreamResponse[CreateGuestResponse], error)
func (*Client) CreateImport ΒΆ
func (c *Client) CreateImport(ctx context.Context, request *CreateImportRequest) (*StreamResponse[CreateImportResponse], error)
Creates a new import
func (*Client) CreateImportURL ΒΆ
func (c *Client) CreateImportURL(ctx context.Context, request *CreateImportURLRequest) (*StreamResponse[CreateImportURLResponse], error)
Creates a new import URL
func (*Client) CreateImportV2Task ΒΆ
func (c *Client) CreateImportV2Task(ctx context.Context, request *CreateImportV2TaskRequest) (*StreamResponse[CreateImportV2TaskResponse], error)
Creates a new import v2 task
func (*Client) CreatePoll ΒΆ
func (c *Client) CreatePoll(ctx context.Context, request *CreatePollRequest) (*StreamResponse[PollResponse], error)
Creates a new poll
func (*Client) CreatePollOption ΒΆ
func (c *Client) CreatePollOption(ctx context.Context, pollID string, request *CreatePollOptionRequest) (*StreamResponse[PollOptionResponse], error)
Creates a poll option
Sends events: - feeds.poll.updated - poll.updated
func (*Client) CreateRole ΒΆ
func (c *Client) CreateRole(ctx context.Context, request *CreateRoleRequest) (*StreamResponse[CreateRoleResponse], error)
Creates custom role
func (*Client) CreateUserGroup ΒΆ
func (c *Client) CreateUserGroup(ctx context.Context, request *CreateUserGroupRequest) (*StreamResponse[CreateUserGroupResponse], error)
Creates a new user group, optionally with initial members
func (*Client) DeactivateUser ΒΆ
func (c *Client) DeactivateUser(ctx context.Context, userID string, request *DeactivateUserRequest) (*StreamResponse[DeactivateUserResponse], error)
Deactivates user with possibility to activate it back
Sends events: - user.deactivated
func (*Client) DeactivateUsers ΒΆ
func (c *Client) DeactivateUsers(ctx context.Context, request *DeactivateUsersRequest) (*StreamResponse[DeactivateUsersResponse], error)
Deactivate users in batches
Sends events: - user.deactivated
func (*Client) DefaultTimeout ΒΆ
func (*Client) DeleteBlockList ΒΆ
func (c *Client) DeleteBlockList(ctx context.Context, name string, request *DeleteBlockListRequest) (*StreamResponse[Response], error)
Deletes previously created application blocklist
func (*Client) DeleteDevice ΒΆ
func (c *Client) DeleteDevice(ctx context.Context, request *DeleteDeviceRequest) (*StreamResponse[Response], error)
Deletes one device
func (*Client) DeleteExternalStorage ΒΆ
func (c *Client) DeleteExternalStorage(ctx context.Context, name string, request *DeleteExternalStorageRequest) (*StreamResponse[DeleteExternalStorageResponse], error)
Deletes external storage
func (*Client) DeleteFile ΒΆ
func (c *Client) DeleteFile(ctx context.Context, request *DeleteFileRequest) (*StreamResponse[Response], error)
Deletes previously uploaded file
func (*Client) DeleteImage ΒΆ
func (c *Client) DeleteImage(ctx context.Context, request *DeleteImageRequest) (*StreamResponse[Response], error)
Deletes previously uploaded image
func (*Client) DeleteImportV2Task ΒΆ
func (c *Client) DeleteImportV2Task(ctx context.Context, id string, request *DeleteImportV2TaskRequest) (*StreamResponse[DeleteImportV2TaskResponse], error)
Deletes an import v2 task. Can only delete tasks in queued state.
func (*Client) DeletePoll ΒΆ
func (c *Client) DeletePoll(ctx context.Context, pollID string, request *DeletePollRequest) (*StreamResponse[Response], error)
Deletes a poll
Sends events: - feeds.poll.deleted - poll.deleted
func (*Client) DeletePollOption ΒΆ
func (c *Client) DeletePollOption(ctx context.Context, pollID string, optionID string, request *DeletePollOptionRequest) (*StreamResponse[Response], error)
Deletes a poll option
Sends events: - feeds.poll.updated - poll.updated
func (*Client) DeletePushProvider ΒΆ
func (c *Client) DeletePushProvider(ctx context.Context, _type string, name string, request *DeletePushProviderRequest) (*StreamResponse[Response], error)
Delete a push provider from v2 with multi bundle/package support. v1 isn't supported in this endpoint
func (*Client) DeleteRole ΒΆ
func (c *Client) DeleteRole(ctx context.Context, name string, request *DeleteRoleRequest) (*StreamResponse[Response], error)
Deletes custom role
func (*Client) DeleteUserGroup ΒΆ
func (c *Client) DeleteUserGroup(ctx context.Context, id string, request *DeleteUserGroupRequest) (*StreamResponse[Response], error)
Deletes a user group and all its members
func (*Client) DeleteUsers ΒΆ
func (c *Client) DeleteUsers(ctx context.Context, request *DeleteUsersRequest) (*StreamResponse[DeleteUsersResponse], error)
Deletes users and optionally all their belongings asynchronously.
Sends events: - channel.deleted - user.deleted
func (*Client) ExportUser ΒΆ
func (c *Client) ExportUser(ctx context.Context, userID string, request *ExportUserRequest) (*StreamResponse[ExportUserResponse], error)
Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions
func (*Client) ExportUsers ΒΆ
func (c *Client) ExportUsers(ctx context.Context, request *ExportUsersRequest) (*StreamResponse[ExportUsersResponse], error)
Exports user profile, reactions and messages for list of given users
func (*Client) GetApp ΒΆ
func (c *Client) GetApp(ctx context.Context, request *GetAppRequest) (*StreamResponse[GetApplicationResponse], error)
This Method returns the application settings
func (*Client) GetBlockList ΒΆ
func (c *Client) GetBlockList(ctx context.Context, name string, request *GetBlockListRequest) (*StreamResponse[GetBlockListResponse], error)
Returns block list by given name
func (*Client) GetBlockedUsers ΒΆ
func (c *Client) GetBlockedUsers(ctx context.Context, request *GetBlockedUsersRequest) (*StreamResponse[GetBlockedUsersResponse], error)
Get list of blocked Users
func (*Client) GetImport ΒΆ
func (c *Client) GetImport(ctx context.Context, id string, request *GetImportRequest) (*StreamResponse[GetImportResponse], error)
Gets an import
func (*Client) GetImportV2Task ΒΆ
func (c *Client) GetImportV2Task(ctx context.Context, id string, request *GetImportV2TaskRequest) (*StreamResponse[GetImportV2TaskResponse], error)
Gets a single import v2 task by ID
func (*Client) GetOG ΒΆ
func (c *Client) GetOG(ctx context.Context, request *GetOGRequest) (*StreamResponse[GetOGResponse], error)
Get an OpenGraph attachment for a link
func (*Client) GetPermission ΒΆ
func (c *Client) GetPermission(ctx context.Context, id string, request *GetPermissionRequest) (*StreamResponse[GetCustomPermissionResponse], error)
Gets custom permission
func (*Client) GetPoll ΒΆ
func (c *Client) GetPoll(ctx context.Context, pollID string, request *GetPollRequest) (*StreamResponse[PollResponse], error)
Retrieves a poll
func (*Client) GetPollOption ΒΆ
func (c *Client) GetPollOption(ctx context.Context, pollID string, optionID string, request *GetPollOptionRequest) (*StreamResponse[PollOptionResponse], error)
Retrieves a poll option
func (*Client) GetPushTemplates ΒΆ
func (c *Client) GetPushTemplates(ctx context.Context, request *GetPushTemplatesRequest) (*StreamResponse[GetPushTemplatesResponse], error)
Retrieve push notification templates for Chat.
func (*Client) GetRateLimits ΒΆ
func (c *Client) GetRateLimits(ctx context.Context, request *GetRateLimitsRequest) (*StreamResponse[GetRateLimitsResponse], error)
Get rate limits usage and quotas
func (*Client) GetTask ΒΆ
func (c *Client) GetTask(ctx context.Context, id string, request *GetTaskRequest) (*StreamResponse[GetTaskResponse], error)
Gets status of a task
func (*Client) GetUserGroup ΒΆ
func (c *Client) GetUserGroup(ctx context.Context, id string, request *GetUserGroupRequest) (*StreamResponse[GetUserGroupResponse], error)
Gets a user group by ID, including its members
func (*Client) GetUserLiveLocations ΒΆ
func (c *Client) GetUserLiveLocations(ctx context.Context, request *GetUserLiveLocationsRequest) (*StreamResponse[SharedLocationsResponse], error)
Retrieves all active live locations for a user
func (*Client) HttpClient ΒΆ
func (c *Client) HttpClient() HttpClient
func (*Client) ListBlockLists ΒΆ
func (c *Client) ListBlockLists(ctx context.Context, request *ListBlockListsRequest) (*StreamResponse[ListBlockListResponse], error)
Returns all available block lists
func (*Client) ListDevices ΒΆ
func (c *Client) ListDevices(ctx context.Context, request *ListDevicesRequest) (*StreamResponse[ListDevicesResponse], error)
Returns all available devices
func (*Client) ListExternalStorage ΒΆ
func (c *Client) ListExternalStorage(ctx context.Context, request *ListExternalStorageRequest) (*StreamResponse[ListExternalStorageResponse], error)
Lists external storage
func (*Client) ListImportV2Tasks ΒΆ
func (c *Client) ListImportV2Tasks(ctx context.Context, request *ListImportV2TasksRequest) (*StreamResponse[ListImportV2TasksResponse], error)
Lists all import v2 tasks for the app
func (*Client) ListImports ΒΆ
func (c *Client) ListImports(ctx context.Context, request *ListImportsRequest) (*StreamResponse[ListImportsResponse], error)
Gets an import
func (*Client) ListPermissions ΒΆ
func (c *Client) ListPermissions(ctx context.Context, request *ListPermissionsRequest) (*StreamResponse[ListPermissionsResponse], error)
Lists all available permissions
func (*Client) ListPushProviders ΒΆ
func (c *Client) ListPushProviders(ctx context.Context, request *ListPushProvidersRequest) (*StreamResponse[ListPushProvidersResponse], error)
List details of all push providers.
func (*Client) ListRoles ΒΆ
func (c *Client) ListRoles(ctx context.Context, request *ListRolesRequest) (*StreamResponse[ListRolesResponse], error)
Lists all available roles
func (*Client) ListUserGroups ΒΆ
func (c *Client) ListUserGroups(ctx context.Context, request *ListUserGroupsRequest) (*StreamResponse[ListUserGroupsResponse], error)
Lists user groups with cursor-based pagination
func (*Client) QueryPollVotes ΒΆ
func (c *Client) QueryPollVotes(ctx context.Context, pollID string, request *QueryPollVotesRequest) (*StreamResponse[PollVotesResponse], error)
Queries votes
func (*Client) QueryPolls ΒΆ
func (c *Client) QueryPolls(ctx context.Context, request *QueryPollsRequest) (*StreamResponse[QueryPollsResponse], error)
Queries polls
func (*Client) QueryUsers ΒΆ
func (c *Client) QueryUsers(ctx context.Context, request *QueryUsersRequest) (*StreamResponse[QueryUsersResponse], error)
Find and filter users
func (*Client) ReactivateUser ΒΆ
func (c *Client) ReactivateUser(ctx context.Context, userID string, request *ReactivateUserRequest) (*StreamResponse[ReactivateUserResponse], error)
Activates user who's been deactivated previously
Sends events: - user.reactivated
func (*Client) ReactivateUsers ΒΆ
func (c *Client) ReactivateUsers(ctx context.Context, request *ReactivateUsersRequest) (*StreamResponse[ReactivateUsersResponse], error)
Reactivate users in batches
Sends events: - user.reactivated - user.reactivated
func (*Client) RemoveUserGroupMembers ΒΆ
func (c *Client) RemoveUserGroupMembers(ctx context.Context, id string, request *RemoveUserGroupMembersRequest) (*StreamResponse[RemoveUserGroupMembersResponse], error)
Removes members from a user group. Users already not in the group are silently ignored.
func (*Client) RestoreUsers ΒΆ
func (c *Client) RestoreUsers(ctx context.Context, request *RestoreUsersRequest) (*StreamResponse[Response], error)
Restore soft deleted users
func (*Client) SearchUserGroups ΒΆ
func (c *Client) SearchUserGroups(ctx context.Context, request *SearchUserGroupsRequest) (*StreamResponse[SearchUserGroupsResponse], error)
Searches user groups by name prefix for autocomplete
func (*Client) UnblockUsers ΒΆ
func (c *Client) UnblockUsers(ctx context.Context, request *UnblockUsersRequest) (*StreamResponse[UnblockUsersResponse], error)
Unblock users
func (*Client) UpdateApp ΒΆ
func (c *Client) UpdateApp(ctx context.Context, request *UpdateAppRequest) (*StreamResponse[Response], error)
This Method updates one or more application settings
func (*Client) UpdateBlockList ΒΆ
func (c *Client) UpdateBlockList(ctx context.Context, name string, request *UpdateBlockListRequest) (*StreamResponse[UpdateBlockListResponse], error)
Updates contents of the block list
func (*Client) UpdateExternalStorage ΒΆ
func (c *Client) UpdateExternalStorage(ctx context.Context, name string, request *UpdateExternalStorageRequest) (*StreamResponse[UpdateExternalStorageResponse], error)
func (*Client) UpdateLiveLocation ΒΆ
func (c *Client) UpdateLiveLocation(ctx context.Context, request *UpdateLiveLocationRequest) (*StreamResponse[SharedLocationResponse], error)
Updates an existing live location with new coordinates or expiration time
func (*Client) UpdatePoll ΒΆ
func (c *Client) UpdatePoll(ctx context.Context, request *UpdatePollRequest) (*StreamResponse[PollResponse], error)
Updates a poll
Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated
func (*Client) UpdatePollOption ΒΆ
func (c *Client) UpdatePollOption(ctx context.Context, pollID string, request *UpdatePollOptionRequest) (*StreamResponse[PollOptionResponse], error)
Updates a poll option
Sends events: - feeds.poll.updated - poll.updated
func (*Client) UpdatePollPartial ΒΆ
func (c *Client) UpdatePollPartial(ctx context.Context, pollID string, request *UpdatePollPartialRequest) (*StreamResponse[PollResponse], error)
Updates a poll partially
Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated
func (*Client) UpdatePushNotificationPreferences ΒΆ
func (c *Client) UpdatePushNotificationPreferences(ctx context.Context, request *UpdatePushNotificationPreferencesRequest) (*StreamResponse[UpsertPushPreferencesResponse], error)
Upserts the push preferences for a user and or channel member. Set to all, mentions or none
func (*Client) UpdateUserGroup ΒΆ
func (c *Client) UpdateUserGroup(ctx context.Context, id string, request *UpdateUserGroupRequest) (*StreamResponse[UpdateUserGroupResponse], error)
Updates a user group's name and/or description. team_id is immutable.
func (*Client) UpdateUsers ΒΆ
func (c *Client) UpdateUsers(ctx context.Context, request *UpdateUsersRequest) (*StreamResponse[UpdateUsersResponse], error)
Update or create users in bulk
Sends events: - user.updated
func (*Client) UpdateUsersPartial ΒΆ
func (c *Client) UpdateUsersPartial(ctx context.Context, request *UpdateUsersPartialRequest) (*StreamResponse[UpdateUsersResponse], error)
Updates certain fields of the user
Sends events: - user.presence.changed - user.updated - user.presence.changed
func (*Client) UploadFile ΒΆ
func (c *Client) UploadFile(ctx context.Context, request *UploadFileRequest) (*StreamResponse[FileUploadResponse], error)
Uploads file
func (*Client) UploadImage ΒΆ
func (c *Client) UploadImage(ctx context.Context, request *UploadImageRequest) (*StreamResponse[ImageUploadResponse], error)
Uploads image
func (*Client) UpsertPushProvider ΒΆ
func (c *Client) UpsertPushProvider(ctx context.Context, request *UpsertPushProviderRequest) (*StreamResponse[UpsertPushProviderResponse], error)
Upsert a push provider for v2 with multi bundle/package support
func (*Client) UpsertPushTemplate ΒΆ
func (c *Client) UpsertPushTemplate(ctx context.Context, request *UpsertPushTemplateRequest) (*StreamResponse[UpsertPushTemplateResponse], error)
Create or update a push notification template for a specific event type and push provider
func (*Client) VerifyWebhook ΒΆ
VerifyWebhook validates if hmac signature is correct for message body.
type ClientOSDataResponse ΒΆ
type ClientOption ΒΆ
type ClientOption func(c *Client)
func WithAuthToken ΒΆ
func WithAuthToken(authToken string) ClientOption
WithAuthToken sets the auth token for the client.
func WithBaseUrl ΒΆ
func WithBaseUrl(baseURL string) ClientOption
WithBaseUrl sets the base URL for the client.
func WithHTTPClient ΒΆ
func WithHTTPClient(httpClient HttpClient) ClientOption
func WithLogger ΒΆ
func WithLogger(logger Logger) ClientOption
WithLogger sets a custom logger for the client.
func WithTimeout ΒΆ
func WithTimeout(t time.Duration) ClientOption
WithTimeout sets a custom timeout for all API requests
type ClosedCaptionEvent ΒΆ
type ClosedCaptionEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
ClosedCaption CallClosedCaption `json:"closed_caption"`
// The type of event: "call.closed_caption" in this case
Type string `json:"type"`
}
This event is sent when closed captions are being sent in a call, clients should use this to show the closed captions in the call screen
func (*ClosedCaptionEvent) GetEventType ΒΆ
func (e *ClosedCaptionEvent) GetEventType() string
type CollectUserFeedbackResponse ΒΆ
type CollectUserFeedbackResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type CollectionRequest ΒΆ
type CollectionRequest struct {
// Name/type of the collection
Name string `json:"name"`
// Custom data for the collection (required, must contain at least one key)
Custom map[string]any `json:"custom"`
// Unique identifier for the collection within its name (optional, will be auto-generated if not provided)
ID *string `json:"id,omitempty"`
// ID of the user who owns this collection
UserID *string `json:"user_id,omitempty"`
}
type CollectionResponse ΒΆ
type CollectionResponse struct {
// Unique identifier for the collection within its name
ID string `json:"id"`
// Name/type of the collection
Name string `json:"name"`
// When the collection was created
CreatedAt *Timestamp `json:"created_at,omitempty"`
// When the collection was last updated
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
// ID of the user who owns this collection
UserID *string `json:"user_id,omitempty"`
// Custom data for the collection
Custom map[string]any `json:"custom,omitempty"`
}
type Command ΒΆ
type Command struct {
// Arguments help text, shown in commands auto-completion
Args string `json:"args"`
// Description, shown in commands auto-completion
Description string `json:"description"`
// Unique command name
Name string `json:"name"`
// Set name used for grouping commands
Set string `json:"set"`
// Date/time of creation
CreatedAt *Timestamp `json:"created_at,omitempty"`
// Date/time of the last update
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
}
Represents custom chat command
type CommentAddedEvent ΒΆ
type CommentAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.comment.added" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a comment is added to an activity.
func (*CommentAddedEvent) GetEventType ΒΆ
func (e *CommentAddedEvent) GetEventType() string
type CommentDeletedEvent ΒΆ
type CommentDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.comment.deleted" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a comment is deleted.
func (*CommentDeletedEvent) GetEventType ΒΆ
func (e *CommentDeletedEvent) GetEventType() string
type CommentReactionAddedEvent ΒΆ
type CommentReactionAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of event: "feeds.comment.reaction.added" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is added to a comment.
func (*CommentReactionAddedEvent) GetEventType ΒΆ
func (e *CommentReactionAddedEvent) GetEventType() string
type CommentReactionDeletedEvent ΒΆ
type CommentReactionDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of reaction that was removed
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a reaction is deleted from a comment.
func (*CommentReactionDeletedEvent) GetEventType ΒΆ
func (e *CommentReactionDeletedEvent) GetEventType() string
type CommentReactionUpdatedEvent ΒΆ
type CommentReactionUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Activity ActivityResponse `json:"activity"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
Reaction FeedsReactionResponse `json:"reaction"`
// The type of event: "feeds.comment.reaction.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is updated on a comment.
func (*CommentReactionUpdatedEvent) GetEventType ΒΆ
func (e *CommentReactionUpdatedEvent) GetEventType() string
type CommentResponse ΒΆ
type CommentResponse struct {
// Confidence score of the comment
ConfidenceScore float64 `json:"confidence_score"`
// When the comment was created
CreatedAt Timestamp `json:"created_at"`
// Number of downvotes for this comment
DownvoteCount int `json:"downvote_count"`
// Unique identifier for the comment
ID string `json:"id"`
// ID of the object this comment is associated with
ObjectID string `json:"object_id"`
// Type of the object this comment is associated with
ObjectType string `json:"object_type"`
// Number of reactions to this comment
ReactionCount int `json:"reaction_count"`
// Number of replies to this comment
ReplyCount int `json:"reply_count"`
// Score of the comment based on reactions
Score int `json:"score"`
// Status of the comment. One of: active, deleted, removed, hidden
Status string `json:"status"`
// When the comment was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Number of upvotes for this comment
UpvoteCount int `json:"upvote_count"`
// Users mentioned in the comment
MentionedUsers []UserResponse `json:"mentioned_users"`
// Current user's reactions to this activity
OwnReactions []FeedsReactionResponse `json:"own_reactions"`
User UserResponse `json:"user"`
// Controversy score of the comment
ControversyScore *float64 `json:"controversy_score,omitempty"`
// When the comment was deleted
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// When the comment was last edited
EditedAt *Timestamp `json:"edited_at,omitempty"`
// ID of parent comment for nested replies
ParentID *string `json:"parent_id,omitempty"`
// Text content of the comment
Text *string `json:"text,omitempty"`
// Attachments associated with the comment
Attachments []Attachment `json:"attachments,omitempty"`
// Recent reactions to the comment
LatestReactions []FeedsReactionResponse `json:"latest_reactions,omitempty"`
// Custom data for the comment
Custom map[string]any `json:"custom,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
// Grouped reactions by type
ReactionGroups map[string]FeedsReactionGroupResponse `json:"reaction_groups,omitempty"`
}
type CommentUpdatedEvent ΒΆ
type CommentUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Comment CommentResponse `json:"comment"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.comment.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a comment is updated.
func (*CommentUpdatedEvent) GetEventType ΒΆ
func (e *CommentUpdatedEvent) GetEventType() string
type CommitMessageRequest ΒΆ
type CommitMessageRequest struct {
}
type CompositeRecordingResponse ΒΆ
type CompositeRecordingResponse struct {
Status string `json:"status"`
}
type ConfigOverridesRequest ΒΆ
type ConfigOverridesRequest struct {
// Blocklist name
Blocklist *string `json:"blocklist,omitempty"`
// Blocklist behavior. One of: flag, block
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
// Enable/disable message counting
CountMessages *bool `json:"count_messages,omitempty"`
// Maximum message length
MaxMessageLength *int `json:"max_message_length,omitempty"`
// Enable/disable quotes
Quotes *bool `json:"quotes,omitempty"`
// Enable/disable reactions
Reactions *bool `json:"reactions,omitempty"`
// Enable/disable replies
Replies *bool `json:"replies,omitempty"`
SharedLocations *bool `json:"shared_locations,omitempty"`
// Enable/disable typing events
TypingEvents *bool `json:"typing_events,omitempty"`
// Enable/disable uploads
Uploads *bool `json:"uploads,omitempty"`
// Enable/disable URL enrichment
UrlEnrichment *bool `json:"url_enrichment,omitempty"`
// Enable/disable user message reminders
UserMessageReminders *bool `json:"user_message_reminders,omitempty"`
// List of available commands
Commands []string `json:"commands,omitempty"`
// Permission grants modifiers
Grants map[string][]string `json:"grants,omitempty"`
}
Channel configuration overrides
type ConfigResponse ΒΆ
type ConfigResponse struct {
// Whether moderation should be performed asynchronously
Async bool `json:"async"`
// When the configuration was created
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for the moderation configuration
Key string `json:"key"`
// Team associated with the configuration
Team string `json:"team"`
// When the configuration was last updated
UpdatedAt Timestamp `json:"updated_at"`
SupportedVideoCallHarmTypes []string `json:"supported_video_call_harm_types"`
AiImageConfig *AIImageConfig `json:"ai_image_config,omitempty"`
// Available L2 subclassifications per L1 image moderation label, based on the active provider
AiImageSubclassifications map[string][]string `json:"ai_image_subclassifications,omitempty"`
AiTextConfig *AITextConfig `json:"ai_text_config,omitempty"`
AiVideoConfig *AIVideoConfig `json:"ai_video_config,omitempty"`
AutomodPlatformCircumventionConfig *AutomodPlatformCircumventionConfig `json:"automod_platform_circumvention_config,omitempty"`
AutomodSemanticFiltersConfig *AutomodSemanticFiltersConfig `json:"automod_semantic_filters_config,omitempty"`
AutomodToxicityConfig *AutomodToxicityConfig `json:"automod_toxicity_config,omitempty"`
BlockListConfig *BlockListConfig `json:"block_list_config,omitempty"`
LlmConfig *LLMConfig `json:"llm_config,omitempty"`
VelocityFilterConfig *VelocityFilterConfig `json:"velocity_filter_config,omitempty"`
VideoCallRuleConfig *VideoCallRuleConfig `json:"video_call_rule_config,omitempty"`
}
type CoordinatesResponse ΒΆ
type CoordinatesResponse struct {
// Latitude coordinate
Latitude float64 `json:"latitude"`
// Longitude coordinate
Longitude float64 `json:"longitude"`
}
Geographic coordinates
type CountByMinuteResponse ΒΆ
type CreateBlockListRequest ΒΆ
type CreateBlockListResponse ΒΆ
type CreateBlockListResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Blocklist *BlockListResponse `json:"blocklist,omitempty"`
}
Basic response information
type CreateCallTypeRequest ΒΆ
type CreateCallTypeRequest struct {
Name string `json:"name"`
ExternalStorage *string `json:"external_storage"`
Grants map[string][]string `json:"grants"`
NotificationSettings *NotificationSettingsRequest `json:"notification_settings"`
Settings *CallSettingsRequest `json:"settings"`
}
type CreateCallTypeResponse ΒΆ
type CreateCallTypeResponse struct {
// the time the call type was created
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// the name of the call type
Name string `json:"name"`
// the time the call type was last updated
UpdatedAt Timestamp `json:"updated_at"`
// the permissions granted to each role
Grants map[string][]string `json:"grants"`
NotificationSettings NotificationSettingsResponse `json:"notification_settings"`
Settings CallSettingsResponse `json:"settings"`
// the external storage for the call type
ExternalStorage *string `json:"external_storage,omitempty"`
}
Response for creating a call type
type CreateChannelTypeRequest ΒΆ
type CreateChannelTypeRequest struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
MaxMessageLength int `json:"max_message_length"`
Name string `json:"name"`
Blocklist *string `json:"blocklist"`
BlocklistBehavior *string `json:"blocklist_behavior"`
ConnectEvents *bool `json:"connect_events"`
CountMessages *bool `json:"count_messages"`
CustomEvents *bool `json:"custom_events"`
DeliveryEvents *bool `json:"delivery_events"`
MarkMessagesPending *bool `json:"mark_messages_pending"`
MessageRetention *string `json:"message_retention"`
Mutes *bool `json:"mutes"`
PartitionSize *int `json:"partition_size"`
PartitionTtl *string `json:"partition_ttl"`
Polls *bool `json:"polls"`
PushLevel *string `json:"push_level"`
PushNotifications *bool `json:"push_notifications"`
Reactions *bool `json:"reactions"`
ReadEvents *bool `json:"read_events"`
Replies *bool `json:"replies"`
Search *bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs *bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents *bool `json:"typing_events"`
Uploads *bool `json:"uploads"`
UrlEnrichment *bool `json:"url_enrichment"`
UserMessageReminders *bool `json:"user_message_reminders"`
Blocklists []BlockListOptions `json:"blocklists"`
Commands []string `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
Grants map[string][]string `json:"grants"`
}
type CreateChannelTypeResponse ΒΆ
type CreateChannelTypeResponse struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
Duration string `json:"duration"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
Commands []string `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
Grants map[string][]string `json:"grants"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
}
type CreateCollectionsRequest ΒΆ
type CreateCollectionsRequest struct {
Collections []CollectionRequest `json:"collections"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type CreateCollectionsResponse ΒΆ
type CreateCollectionsResponse struct {
Duration string `json:"duration"`
// List of created collections
Collections []CollectionResponse `json:"collections"`
}
type CreateCommandRequest ΒΆ
type CreateCommandResponse ΒΆ
type CreateDeviceRequest ΒΆ
type CreateExternalStorageResponse ΒΆ
type CreateExternalStorageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type CreateFeedGroupRequest ΒΆ
type CreateFeedGroupRequest struct {
ID string `json:"id"`
DefaultVisibility *string `json:"default_visibility"`
ActivityProcessors []ActivityProcessorConfig `json:"activity_processors"`
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Custom map[string]any `json:"custom"`
Notification *NotificationConfig `json:"notification"`
PushNotification *PushNotificationConfig `json:"push_notification"`
Ranking *RankingConfig `json:"ranking"`
Stories *StoriesConfig `json:"stories"`
}
type CreateFeedGroupResponse ΒΆ
type CreateFeedGroupResponse struct {
Duration string `json:"duration"`
FeedGroup FeedGroupResponse `json:"feed_group"`
}
type CreateFeedViewRequest ΒΆ
type CreateFeedViewRequest struct {
ID string `json:"id"`
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Ranking *RankingConfig `json:"ranking"`
}
type CreateFeedViewResponse ΒΆ
type CreateFeedViewResponse struct {
Duration string `json:"duration"`
FeedView FeedViewResponse `json:"feed_view"`
}
type CreateFeedsBatchRequest ΒΆ
type CreateFeedsBatchRequest struct {
Feeds []FeedRequest `json:"feeds"`
}
type CreateFeedsBatchResponse ΒΆ
type CreateFeedsBatchResponse struct {
Duration string `json:"duration"`
// List of created feeds
Feeds []FeedResponse `json:"feeds"`
}
type CreateGuestRequest ΒΆ
type CreateGuestRequest struct {
User UserRequest `json:"user"`
}
type CreateGuestResponse ΒΆ
type CreateGuestResponse struct {
// the access token to authenticate the user
AccessToken string `json:"access_token"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
User UserResponse `json:"user"`
}
type CreateImportRequest ΒΆ
type CreateImportResponse ΒΆ
type CreateImportResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ImportTask *ImportTask `json:"import_task,omitempty"`
}
Basic response information
type CreateImportURLRequest ΒΆ
type CreateImportURLRequest struct {
Filename *string `json:"filename"`
}
type CreateImportURLResponse ΒΆ
type CreateImportURLResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Path string `json:"path"`
UploadUrl string `json:"upload_url"`
}
Basic response information
type CreateImportV2TaskRequest ΒΆ
type CreateImportV2TaskRequest struct {
Product string `json:"product"`
Settings ImportV2TaskSettings `json:"settings"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type CreateImportV2TaskResponse ΒΆ
type CreateImportV2TaskResponse struct {
AppPk int `json:"app_pk"`
CreatedAt Timestamp `json:"created_at"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
ID string `json:"id"`
Product string `json:"product"`
State int `json:"state"`
UpdatedAt Timestamp `json:"updated_at"`
Settings ImportV2TaskSettings `json:"settings"`
}
Basic response information
type CreateMembershipLevelResponse ΒΆ
type CreateMembershipLevelResponse struct {
Duration string `json:"duration"`
MembershipLevel MembershipLevelResponse `json:"membership_level"`
}
type CreatePollOptionRequest ΒΆ
type CreatePollOptionRequest struct {
Text string `json:"text"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"Custom"`
User *UserRequest `json:"user"`
}
type CreatePollRequest ΒΆ
type CreatePollRequest struct {
Name string `json:"name"`
AllowAnswers *bool `json:"allow_answers"`
AllowUserSuggestedOptions *bool `json:"allow_user_suggested_options"`
Description *string `json:"description"`
EnforceUniqueVote *bool `json:"enforce_unique_vote"`
ID *string `json:"id"`
IsClosed *bool `json:"is_closed"`
MaxVotesAllowed *int `json:"max_votes_allowed"`
UserID *string `json:"user_id"`
VotingVisibility *string `json:"voting_visibility"`
Options []PollOptionInput `json:"options"`
Custom map[string]any `json:"Custom"`
User *UserRequest `json:"user"`
}
type CreateReminderRequest ΒΆ
type CreateReminderRequest struct {
RemindAt *Timestamp `json:"remind_at"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type CreateRoleRequest ΒΆ
type CreateRoleRequest struct {
Name string `json:"name"`
}
type CreateRoleResponse ΒΆ
type CreateRoleResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Role Role `json:"role"`
}
Basic response information
type CreateSIPInboundRoutingRuleRequest ΒΆ
type CreateSIPInboundRoutingRuleRequest struct {
Name string `json:"name"`
TrunkIds []string `json:"trunk_ids"`
CallerConfigs SIPCallerConfigsRequest `json:"caller_configs"`
CalledNumbers []string `json:"called_numbers"`
CallerNumbers []string `json:"caller_numbers"`
CallConfigs *SIPCallConfigsRequest `json:"call_configs"`
DirectRoutingConfigs *SIPDirectRoutingRuleCallConfigsRequest `json:"direct_routing_configs"`
PinProtectionConfigs *SIPPinProtectionConfigsRequest `json:"pin_protection_configs"`
PinRoutingConfigs *SIPInboundRoutingRulePinConfigsRequest `json:"pin_routing_configs"`
}
type CreateSIPTrunkRequest ΒΆ
type CreateSIPTrunkResponse ΒΆ
type CreateSIPTrunkResponse struct {
Duration string `json:"duration"`
SipTrunk *SIPTrunkResponse `json:"sip_trunk,omitempty"`
}
Response containing the created SIP trunk
type CreateUserGroupRequest ΒΆ
type CreateUserGroupResponse ΒΆ
type CreateUserGroupResponse struct {
Duration string `json:"duration"`
UserGroup *UserGroupResponse `json:"user_group,omitempty"`
}
Response for creating a user group
type CustomActionRequestPayload ΒΆ
type CustomActionRequestPayload struct {
// Custom action identifier
ID *string `json:"id,omitempty"`
// Custom action options
Options map[string]any `json:"options,omitempty"`
}
Configuration for custom moderation action
type CustomCheckFlag ΒΆ
type CustomCheckFlag struct {
// Type of check (custom_check_text, custom_check_image, custom_check_video)
Type string `json:"type"`
// Optional explanation for the flag
Reason *string `json:"reason,omitempty"`
// Labels from various moderation sources
Labels []string `json:"labels,omitempty"`
// Additional metadata for the flag
Custom map[string]any `json:"custom,omitempty"`
}
type CustomCheckRequest ΒΆ
type CustomCheckRequest struct {
EntityID string `json:"entity_id"`
EntityType string `json:"entity_type"`
Flags []CustomCheckFlag `json:"flags"`
EntityCreatorID *string `json:"entity_creator_id"`
UserID *string `json:"user_id"`
ModerationPayload *ModerationPayloadRequest `json:"moderation_payload"`
User *UserRequest `json:"user"`
}
type CustomCheckResponse ΒΆ
type CustomCheckResponse struct {
Duration string `json:"duration"`
// Unique identifier of the custom check
ID string `json:"id"`
// Status of the custom check
Status string `json:"status"`
Item *ReviewQueueItemResponse `json:"item,omitempty"`
}
type CustomEvent ΒΆ
type CustomEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*CustomEvent) GetEventType ΒΆ
func (e *CustomEvent) GetEventType() string
type CustomVideoEvent ΒΆ
type CustomVideoEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Custom data for this object
Custom map[string]any `json:"custom"`
User UserResponse `json:"user"`
// The type of event, "custom" in this case
Type string `json:"type"`
}
A custom event, this event is used to send custom events to other participants in the call.
func (*CustomVideoEvent) GetEventType ΒΆ
func (e *CustomVideoEvent) GetEventType() string
type DailyAggregateCallDurationReportResponse ΒΆ
type DailyAggregateCallDurationReportResponse struct {
Date string `json:"date"`
Report CallDurationReport `json:"report"`
}
type DailyAggregateCallParticipantCountReportResponse ΒΆ
type DailyAggregateCallParticipantCountReportResponse struct {
Date string `json:"date"`
Report CallParticipantCountReport `json:"report"`
}
type DailyAggregateCallsPerDayReportResponse ΒΆ
type DailyAggregateCallsPerDayReportResponse struct {
Date string `json:"date"`
Report CallsPerDayReport `json:"report"`
}
type DailyAggregateQualityScoreReportResponse ΒΆ
type DailyAggregateQualityScoreReportResponse struct {
Date string `json:"date"`
Report QualityScoreReport `json:"report"`
}
type DailyAggregateSDKUsageReportResponse ΒΆ
type DailyAggregateSDKUsageReportResponse struct {
Date string `json:"date"`
Report SDKUsageReport `json:"report"`
}
type DailyAggregateUserFeedbackReportResponse ΒΆ
type DailyAggregateUserFeedbackReportResponse struct {
Date string `json:"date"`
Report UserFeedbackReport `json:"report"`
}
type DailyMetricResponse ΒΆ
type DailyMetricStatsResponse ΒΆ
type DailyMetricStatsResponse struct {
// Total value across all days in the date range
Total int `json:"total"`
// Array of daily metric values
Daily []DailyMetricResponse `json:"daily"`
}
type DailyValue ΒΆ
type DailyValue struct {
// Date in YYYY-MM-DD format
Date string `json:"date"`
// Metric value for this date
Value int `json:"value"`
}
Metric value for a specific date
type DataDogInfo ΒΆ
type DeactivateUserRequest ΒΆ
type DeactivateUserResponse ΒΆ
type DeactivateUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
User *UserResponse `json:"user,omitempty"`
}
type DeactivateUsersRequest ΒΆ
type DeactivateUsersResponse ΒΆ
type DeactivateUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
TaskID string `json:"task_id"`
}
Basic response information
type DecayFunctionConfig ΒΆ
type DecayFunctionConfig struct {
// Base value for decay function
Base *string `json:"base,omitempty"`
// Decay rate
Decay *string `json:"decay,omitempty"`
// Direction of decay
Direction *string `json:"direction,omitempty"`
// Offset value for decay function
Offset *string `json:"offset,omitempty"`
// Origin value for decay function
Origin *string `json:"origin,omitempty"`
// Scale factor for decay function
Scale *string `json:"scale,omitempty"`
}
type DefaultLogger ΒΆ
type DefaultLogger struct {
// contains filtered or unexported fields
}
DefaultLogger is the default implementation of the Logger interface.
func NewDefaultLogger ΒΆ
NewDefaultLogger creates a new DefaultLogger instance.
func (*DefaultLogger) Debug ΒΆ
func (l *DefaultLogger) Debug(format string, v ...interface{})
Debug logs a debug message.
func (*DefaultLogger) Error ΒΆ
func (l *DefaultLogger) Error(format string, v ...interface{})
Error logs an error message.
func (*DefaultLogger) Info ΒΆ
func (l *DefaultLogger) Info(format string, v ...interface{})
Info logs an info message.
func (*DefaultLogger) SetLevel ΒΆ
func (l *DefaultLogger) SetLevel(level LogLevel)
SetLevel sets the logging level.
func (*DefaultLogger) Warn ΒΆ
func (l *DefaultLogger) Warn(format string, v ...interface{})
Warn logs a warning message.
type DeleteActivitiesRequest ΒΆ
type DeleteActivitiesRequest struct {
Ids []string `json:"ids"`
DeleteNotificationActivity *bool `json:"delete_notification_activity"`
HardDelete *bool `json:"hard_delete"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type DeleteActivityReactionResponse ΒΆ
type DeleteActivityReactionResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
Reaction FeedsReactionResponse `json:"reaction"`
}
type DeleteActivityRequest ΒΆ
type DeleteActivityRequestPayload ΒΆ
type DeleteActivityRequestPayload struct {
// ID of the activity to delete (alternative to item_id)
EntityID *string `json:"entity_id,omitempty"`
// Type of the entity (required for delete_activity to distinguish v2 vs v3)
EntityType *string `json:"entity_type,omitempty"`
// Whether to permanently delete the activity
HardDelete *bool `json:"hard_delete,omitempty"`
// Reason for deletion
Reason *string `json:"reason,omitempty"`
}
Configuration for activity deletion action
type DeleteActivityResponse ΒΆ
type DeleteActivityResponse struct {
Duration string `json:"duration"`
}
type DeleteBlockListRequest ΒΆ
type DeleteBlockListRequest struct {
Team *string `json:"-" query:"team"`
}
type DeleteBookmarkFolderRequest ΒΆ
type DeleteBookmarkFolderRequest struct {
}
type DeleteBookmarkFolderResponse ΒΆ
type DeleteBookmarkFolderResponse struct {
Duration string `json:"duration"`
}
type DeleteBookmarkRequest ΒΆ
type DeleteBookmarkResponse ΒΆ
type DeleteBookmarkResponse struct {
Duration string `json:"duration"`
Bookmark BookmarkResponse `json:"bookmark"`
}
type DeleteCallRequest ΒΆ
type DeleteCallRequest struct {
Hard *bool `json:"hard"`
}
type DeleteCallResponse ΒΆ
type DeleteCallResponse struct {
Duration string `json:"duration"`
Call CallResponse `json:"call"`
TaskID *string `json:"task_id,omitempty"`
}
DeleteCallResponse is the payload for deleting a call.
type DeleteCallTypeRequest ΒΆ
type DeleteCallTypeRequest struct {
}
type DeleteChannelFileRequest ΒΆ
type DeleteChannelFileRequest struct {
Url *string `json:"-" query:"url"`
}
type DeleteChannelImageRequest ΒΆ
type DeleteChannelImageRequest struct {
Url *string `json:"-" query:"url"`
}
type DeleteChannelRequest ΒΆ
type DeleteChannelRequest struct {
HardDelete *bool `json:"-" query:"hard_delete"`
}
type DeleteChannelResponse ΒΆ
type DeleteChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Channel *ChannelResponse `json:"channel,omitempty"`
}
Basic response information
type DeleteChannelTypeRequest ΒΆ
type DeleteChannelTypeRequest struct {
}
type DeleteChannelsRequest ΒΆ
type DeleteChannelsResponse ΒΆ
type DeleteChannelsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
TaskID *string `json:"task_id,omitempty"`
// Map of channel IDs and their deletion results
Result map[string]*DeleteChannelsResultResponse `json:"result,omitempty"`
}
type DeleteCollectionsRequest ΒΆ
type DeleteCollectionsRequest struct {
CollectionRefs []string `json:"-" query:"collection_refs"`
}
type DeleteCollectionsResponse ΒΆ
type DeleteCollectionsResponse struct {
Duration string `json:"duration"`
}
type DeleteCommandRequest ΒΆ
type DeleteCommandRequest struct {
}
type DeleteCommandResponse ΒΆ
type DeleteCommentReactionResponse ΒΆ
type DeleteCommentReactionResponse struct {
Duration string `json:"duration"`
Comment CommentResponse `json:"comment"`
Reaction FeedsReactionResponse `json:"reaction"`
}
type DeleteCommentRequest ΒΆ
type DeleteCommentRequestPayload ΒΆ
type DeleteCommentRequestPayload struct {
// ID of the comment to delete (alternative to item_id)
EntityID *string `json:"entity_id,omitempty"`
// Type of the entity
EntityType *string `json:"entity_type,omitempty"`
// Whether to permanently delete the comment
HardDelete *bool `json:"hard_delete,omitempty"`
// Reason for deletion
Reason *string `json:"reason,omitempty"`
}
Configuration for comment deletion action
type DeleteCommentResponse ΒΆ
type DeleteCommentResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
Comment CommentResponse `json:"comment"`
}
type DeleteConfigRequest ΒΆ
type DeleteConfigRequest struct {
Team *string `json:"-" query:"team"`
}
type DeleteDeviceRequest ΒΆ
type DeleteDraftRequest ΒΆ
type DeleteExternalStorageRequest ΒΆ
type DeleteExternalStorageRequest struct {
}
type DeleteExternalStorageResponse ΒΆ
type DeleteExternalStorageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type DeleteFeedGroupRequest ΒΆ
type DeleteFeedGroupRequest struct {
HardDelete *bool `json:"-" query:"hard_delete"`
}
type DeleteFeedGroupResponse ΒΆ
type DeleteFeedGroupResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type DeleteFeedRequest ΒΆ
type DeleteFeedRequest struct {
HardDelete *bool `json:"-" query:"hard_delete"`
}
type DeleteFeedResponse ΒΆ
type DeleteFeedUserDataRequest ΒΆ
type DeleteFeedUserDataRequest struct {
HardDelete *bool `json:"hard_delete"`
}
type DeleteFeedUserDataResponse ΒΆ
type DeleteFeedUserDataResponse struct {
Duration string `json:"duration"`
// The task ID for the deletion task
TaskID string `json:"task_id"`
}
Response for deleting feed user data
type DeleteFeedViewRequest ΒΆ
type DeleteFeedViewRequest struct {
}
type DeleteFeedViewResponse ΒΆ
type DeleteFeedViewResponse struct {
Duration string `json:"duration"`
}
type DeleteFileRequest ΒΆ
type DeleteFileRequest struct {
Url *string `json:"-" query:"url"`
}
type DeleteImageRequest ΒΆ
type DeleteImageRequest struct {
Url *string `json:"-" query:"url"`
}
type DeleteImportV2TaskRequest ΒΆ
type DeleteImportV2TaskRequest struct {
}
type DeleteImportV2TaskResponse ΒΆ
type DeleteImportV2TaskResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type DeleteMembershipLevelRequest ΒΆ
type DeleteMembershipLevelRequest struct {
}
type DeleteMessageRequest ΒΆ
type DeleteMessageRequestPayload ΒΆ
type DeleteMessageRequestPayload struct {
// ID of the message to delete (alternative to item_id)
EntityID *string `json:"entity_id,omitempty"`
// Type of the entity
EntityType *string `json:"entity_type,omitempty"`
// Whether to permanently delete the message
HardDelete *bool `json:"hard_delete,omitempty"`
// Reason for deletion
Reason *string `json:"reason,omitempty"`
}
Configuration for message deletion action
type DeleteMessageResponse ΒΆ
type DeleteMessageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
}
Basic response information
type DeleteModerationConfigResponse ΒΆ
type DeleteModerationConfigResponse struct {
Duration string `json:"duration"`
}
type DeleteModerationRuleRequest ΒΆ
type DeleteModerationRuleRequest struct {
}
type DeleteModerationRuleResponse ΒΆ
type DeleteModerationRuleResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type DeleteModerationTemplateResponse ΒΆ
type DeleteModerationTemplateResponse struct {
Duration string `json:"duration"`
}
type DeletePollOptionRequest ΒΆ
type DeletePollOptionRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type DeletePollRequest ΒΆ
type DeletePollRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type DeletePollVoteRequest ΒΆ
type DeletePollVoteRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type DeletePushProviderRequest ΒΆ
type DeletePushProviderRequest struct {
}
type DeleteReactionRequest ΒΆ
type DeleteReactionRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type DeleteReactionRequestPayload ΒΆ
type DeleteReactionRequestPayload struct {
// ID of the reaction to delete (alternative to item_id)
EntityID *string `json:"entity_id,omitempty"`
// Type of the entity
EntityType *string `json:"entity_type,omitempty"`
// Whether to permanently delete the reaction
HardDelete *bool `json:"hard_delete,omitempty"`
// Reason for deletion
Reason *string `json:"reason,omitempty"`
}
Configuration for reaction deletion action
type DeleteReactionResponse ΒΆ
type DeleteReactionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
Reaction ReactionResponse `json:"reaction"`
}
Basic response information
type DeleteRecordingRequest ΒΆ
type DeleteRecordingRequest struct {
}
type DeleteRecordingResponse ΒΆ
type DeleteRecordingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Response for DeleteRecording
type DeleteReminderRequest ΒΆ
type DeleteReminderRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type DeleteReminderResponse ΒΆ
type DeleteReminderResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type DeleteRoleRequest ΒΆ
type DeleteRoleRequest struct {
}
type DeleteSIPInboundRoutingRuleRequest ΒΆ
type DeleteSIPInboundRoutingRuleRequest struct {
}
type DeleteSIPInboundRoutingRuleResponse ΒΆ
type DeleteSIPInboundRoutingRuleResponse struct {
Duration string `json:"duration"`
}
Response confirming SIP Inbound Routing Rule deletion
type DeleteSIPTrunkRequest ΒΆ
type DeleteSIPTrunkRequest struct {
}
type DeleteSIPTrunkResponse ΒΆ
type DeleteSIPTrunkResponse struct {
Duration string `json:"duration"`
}
Response confirming SIP trunk deletion
type DeleteSegmentRequest ΒΆ
type DeleteSegmentRequest struct {
}
type DeleteSegmentTargetsRequest ΒΆ
type DeleteSegmentTargetsRequest struct {
TargetIds []string `json:"target_ids"`
}
type DeleteTranscriptionRequest ΒΆ
type DeleteTranscriptionRequest struct {
}
type DeleteTranscriptionResponse ΒΆ
type DeleteTranscriptionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
DeleteTranscriptionResponse is the payload for deleting a transcription.
type DeleteUserGroupRequest ΒΆ
type DeleteUserGroupRequest struct {
TeamID *string `json:"-" query:"team_id"`
}
type DeleteUserRequestPayload ΒΆ
type DeleteUserRequestPayload struct {
// Also delete all user conversations
DeleteConversationChannels *bool `json:"delete_conversation_channels,omitempty"`
// Delete flagged feeds content
DeleteFeedsContent *bool `json:"delete_feeds_content,omitempty"`
// ID of the user to delete (alternative to item_id)
EntityID *string `json:"entity_id,omitempty"`
// Type of the entity
EntityType *string `json:"entity_type,omitempty"`
// Whether to permanently delete the user
HardDelete *bool `json:"hard_delete,omitempty"`
// Also delete all user messages
MarkMessagesDeleted *bool `json:"mark_messages_deleted,omitempty"`
// Reason for deletion
Reason *string `json:"reason,omitempty"`
}
Configuration for user deletion action
type DeleteUsersRequest ΒΆ
type DeleteUsersRequest struct {
UserIds []string `json:"user_ids"`
Calls *string `json:"calls"`
Conversations *string `json:"conversations"`
Files *bool `json:"files"`
Messages *string `json:"messages"`
NewCallOwnerID *string `json:"new_call_owner_id"`
NewChannelOwnerID *string `json:"new_channel_owner_id"`
User *string `json:"user"`
}
type DeleteUsersResponse ΒΆ
type DeliveryReceiptsResponse ΒΆ
type DeliveryReceiptsResponse struct {
Enabled *bool `json:"enabled,omitempty"`
}
type DeviceDataResponse ΒΆ
type DeviceErrorInfo ΒΆ
type DeviceResponse ΒΆ
type DeviceResponse struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Device ID
ID string `json:"id"`
// Push provider
PushProvider string `json:"push_provider"`
// User ID
UserID string `json:"user_id"`
// Whether device is disabled or not
Disabled *bool `json:"disabled,omitempty"`
// Reason explaining why device had been disabled
DisabledReason *string `json:"disabled_reason,omitempty"`
// Push provider name
PushProviderName *string `json:"push_provider_name,omitempty"`
// When true the token is for Apple VoIP push notifications
Voip *bool `json:"voip,omitempty"`
}
Response for Device
type DraftPayloadResponse ΒΆ
type DraftPayloadResponse struct {
// Message ID is unique string identifier of the message
ID string `json:"id"`
// Text of the message
Text string `json:"text"`
Custom map[string]any `json:"custom"`
// Contains HTML markup of the message
Html *string `json:"html,omitempty"`
// MML content of the message
Mml *string `json:"mml,omitempty"`
// ID of parent message (thread)
ParentID *string `json:"parent_id,omitempty"`
// Identifier of the poll to include in the message
PollID *string `json:"poll_id,omitempty"`
QuotedMessageID *string `json:"quoted_message_id,omitempty"`
// Whether thread reply should be shown in the channel as well
ShowInChannel *bool `json:"show_in_channel,omitempty"`
// Whether message is silent or not
Silent *bool `json:"silent,omitempty"`
// Contains type of the message. One of: regular, system
Type *string `json:"type,omitempty"`
// Array of message attachments
Attachments []Attachment `json:"attachments,omitempty"`
// List of mentioned users
MentionedUsers []UserResponse `json:"mentioned_users,omitempty"`
}
Contains the draft message content
type DraftResponse ΒΆ
type DraftResponse struct {
ChannelCid string `json:"channel_cid"`
CreatedAt Timestamp `json:"created_at"`
Message DraftPayloadResponse `json:"message"`
ParentID *string `json:"parent_id,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
ParentMessage *MessageResponse `json:"parent_message,omitempty"`
QuotedMessage *MessageResponse `json:"quoted_message,omitempty"`
}
type EdgeResponse ΒΆ
type EdgeResponse struct {
ContinentCode string `json:"continent_code"`
CountryIsoCode string `json:"country_iso_code"`
Green int `json:"green"`
ID string `json:"id"`
LatencyTestUrl string `json:"latency_test_url"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
Red int `json:"red"`
SubdivisionIsoCode string `json:"subdivision_iso_code"`
Yellow int `json:"yellow"`
}
type EgressHLSResponse ΒΆ
type EgressRTMPResponse ΒΆ
type EgressResponse ΒΆ
type EgressResponse struct {
Broadcasting bool `json:"broadcasting"`
Rtmps []EgressRTMPResponse `json:"rtmps"`
CompositeRecording *CompositeRecordingResponse `json:"composite_recording,omitempty"`
FrameRecording *FrameRecordingResponse `json:"frame_recording,omitempty"`
HLS *EgressHLSResponse `json:"hls,omitempty"`
IndividualRecording *IndividualRecordingResponse `json:"individual_recording,omitempty"`
RawRecording *RawRecordingResponse `json:"raw_recording,omitempty"`
}
type EndCallRequest ΒΆ
type EndCallRequest struct {
}
type EndCallResponse ΒΆ
type EndCallResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Response for ending a call
type EnrichedActivity ΒΆ
type EnrichedActivity struct {
ForeignID *string `json:"foreign_id,omitempty"`
ID *string `json:"id,omitempty"`
Score *float64 `json:"score,omitempty"`
Verb *string `json:"verb,omitempty"`
To []string `json:"to,omitempty"`
Actor *Data `json:"actor,omitempty"`
LatestReactions map[string][]EnrichedReaction `json:"latest_reactions,omitempty"`
Object *Data `json:"object,omitempty"`
Origin *Data `json:"origin,omitempty"`
OwnReactions map[string][]EnrichedReaction `json:"own_reactions,omitempty"`
ReactionCounts map[string]int `json:"reaction_counts,omitempty"`
Target *Data `json:"target,omitempty"`
}
type EnrichedCollectionResponse ΒΆ
type EnrichedCollectionResponse struct {
// Unique identifier for the collection within its name
ID string `json:"id"`
// Name/type of the collection
Name string `json:"name"`
// Enrichment status of the collection. One of: ok, notfound
Status string `json:"status"`
// When the collection was created
CreatedAt *Timestamp `json:"created_at,omitempty"`
// When the collection was last updated
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
// ID of the user who owns this collection
UserID *string `json:"user_id,omitempty"`
// Custom data for the collection
Custom map[string]any `json:"custom,omitempty"`
}
type EnrichedReaction ΒΆ
type EnrichedReaction struct {
ActivityID string `json:"activity_id"`
Kind string `json:"kind"`
UserID string `json:"user_id"`
ID *string `json:"id,omitempty"`
Parent *string `json:"parent,omitempty"`
TargetFeeds []string `json:"target_feeds,omitempty"`
ChildrenCounts map[string]int `json:"children_counts,omitempty"`
CreatedAt *Time `json:"created_at,omitempty"`
Data map[string]any `json:"data,omitempty"`
LatestChildren map[string][]EnrichedReaction `json:"latest_children,omitempty"`
OwnChildren map[string][]EnrichedReaction `json:"own_children,omitempty"`
UpdatedAt *Time `json:"updated_at,omitempty"`
User *Data `json:"user,omitempty"`
}
type EnrichmentOptions ΒΆ
type EnrichmentOptions struct {
// Default: false. When true, includes fetching and enriching own_followings (follows where activity author's feeds follow current user's feeds).
EnrichOwnFollowings *bool `json:"enrich_own_followings,omitempty"`
// Default: false. When true, skips all activity enrichments.
SkipActivity *bool `json:"skip_activity,omitempty"`
// Default: false. When true, skips enriching collections on activities.
SkipActivityCollections *bool `json:"skip_activity_collections,omitempty"`
// Default: false. When true, skips enriching comments on activities.
SkipActivityComments *bool `json:"skip_activity_comments,omitempty"`
// Default: false. When true, skips enriching current_feed on activities. Note: CurrentFeed is still computed for permission checks, but enrichment is skipped.
SkipActivityCurrentFeed *bool `json:"skip_activity_current_feed,omitempty"`
// Default: false. When true, skips enriching mentioned users on activities.
SkipActivityMentionedUsers *bool `json:"skip_activity_mentioned_users,omitempty"`
// Default: false. When true, skips enriching own bookmarks on activities.
SkipActivityOwnBookmarks *bool `json:"skip_activity_own_bookmarks,omitempty"`
// Default: false. When true, skips enriching parent activities.
SkipActivityParents *bool `json:"skip_activity_parents,omitempty"`
// Default: false. When true, skips enriching poll data on activities.
SkipActivityPoll *bool `json:"skip_activity_poll,omitempty"`
// Default: false. When true, skips fetching and enriching latest and own reactions on activities. Note: If reactions are already denormalized in the database, they will still be included.
SkipActivityReactions *bool `json:"skip_activity_reactions,omitempty"`
// Default: false. When true, skips refreshing image URLs on activities.
SkipActivityRefreshImageUrls *bool `json:"skip_activity_refresh_image_urls,omitempty"`
// Default: false. When true, skips all enrichments.
SkipAll *bool `json:"skip_all,omitempty"`
// Default: false. When true, skips enriching user data on feed members.
SkipFeedMemberUser *bool `json:"skip_feed_member_user,omitempty"`
// Default: false. When true, skips fetching and enriching followers. Note: If followers_pagination is explicitly provided, followers will be fetched regardless of this setting.
SkipFollowers *bool `json:"skip_followers,omitempty"`
// Default: false. When true, skips fetching and enriching following. Note: If following_pagination is explicitly provided, following will be fetched regardless of this setting.
SkipFollowing *bool `json:"skip_following,omitempty"`
// Default: false. When true, skips computing and including capabilities for feeds.
SkipOwnCapabilities *bool `json:"skip_own_capabilities,omitempty"`
// Default: false. When true, skips fetching and enriching own_follows (follows where user's feeds follow target feeds).
SkipOwnFollows *bool `json:"skip_own_follows,omitempty"`
// Default: false. When true, skips enriching pinned activities.
SkipPins *bool `json:"skip_pins,omitempty"`
}
Options to skip specific enrichments to improve performance. Default is false (enrichments are included). Setting a field to true skips that enrichment.
type EntityCreatorResponse ΒΆ
type EntityCreatorResponse struct {
// Number of minor actions performed on the user
BanCount int `json:"ban_count"`
Banned bool `json:"banned"`
CreatedAt Timestamp `json:"created_at"`
// Number of major actions performed on the user
DeletedContentCount int `json:"deleted_content_count"`
// Number of flag actions performed on the user
FlaggedCount int `json:"flagged_count"`
ID string `json:"id"`
Invisible bool `json:"invisible"`
Language string `json:"language"`
Online bool `json:"online"`
Role string `json:"role"`
ShadowBanned bool `json:"shadow_banned"`
UpdatedAt Timestamp `json:"updated_at"`
BlockedUserIds []string `json:"blocked_user_ids"`
Teams []string `json:"teams"`
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
BanExpires *Timestamp `json:"ban_expires,omitempty"`
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
LastActive *Timestamp `json:"last_active,omitempty"`
Name *string `json:"name,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
Devices []DeviceResponse `json:"devices,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
PushNotifications *PushNotificationSettingsResponse `json:"push_notifications,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
type ErrorResult ΒΆ
type EventHook ΒΆ
type EventHook struct {
CreatedAt *Timestamp `json:"created_at,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
HookType *string `json:"hook_type,omitempty"`
ID *string `json:"id,omitempty"`
Product *string `json:"product,omitempty"`
ShouldSendCustomEvents *bool `json:"should_send_custom_events,omitempty"`
SnsAuthType *string `json:"sns_auth_type,omitempty"`
SnsEventBasedMessageGroupIDEnabled *bool `json:"sns_event_based_message_group_id_enabled,omitempty"`
SnsKey *string `json:"sns_key,omitempty"`
SnsRegion *string `json:"sns_region,omitempty"`
SnsRoleArn *string `json:"sns_role_arn,omitempty"`
SnsSecret *string `json:"sns_secret,omitempty"`
SnsTopicArn *string `json:"sns_topic_arn,omitempty"`
SqsAuthType *string `json:"sqs_auth_type,omitempty"`
SqsKey *string `json:"sqs_key,omitempty"`
SqsQueueUrl *string `json:"sqs_queue_url,omitempty"`
SqsRegion *string `json:"sqs_region,omitempty"`
SqsRoleArn *string `json:"sqs_role_arn,omitempty"`
SqsSecret *string `json:"sqs_secret,omitempty"`
TimeoutMs *int `json:"timeout_ms,omitempty"`
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
WebhookUrl *string `json:"webhook_url,omitempty"`
EventTypes []string `json:"event_types,omitempty"`
Callback *AsyncModerationCallbackConfig `json:"callback,omitempty"`
}
type EventNotificationSettingsRequest ΒΆ
type EventNotificationSettingsRequest struct {
Enabled *bool `json:"enabled,omitempty"`
APNS *APNSPayload `json:"apns,omitempty"`
Fcm *FCMPayload `json:"fcm,omitempty"`
}
type EventNotificationSettingsResponse ΒΆ
type EventNotificationSettingsResponse struct {
Enabled bool `json:"enabled"`
APNS APNSPayload `json:"apns"`
Fcm FCMPayload `json:"fcm"`
}
type EventRequest ΒΆ
type EventResponse ΒΆ
type EventResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Event WSEvent `json:"event"`
}
Basic response information
type ExportChannelsRequest ΒΆ
type ExportChannelsRequest struct {
Channels []ChannelExport `json:"channels"`
ClearDeletedMessageText *bool `json:"clear_deleted_message_text"`
ExportUsers *bool `json:"export_users"`
IncludeSoftDeletedChannels *bool `json:"include_soft_deleted_channels"`
IncludeTruncatedMessages *bool `json:"include_truncated_messages"`
Version *string `json:"version"`
}
type ExportChannelsResponse ΒΆ
type ExportFeedUserDataRequest ΒΆ
type ExportFeedUserDataRequest struct {
}
type ExportFeedUserDataResponse ΒΆ
type ExportFeedUserDataResponse struct {
Duration string `json:"duration"`
// The task ID for the export task
TaskID string `json:"task_id"`
}
Response for exporting feed user data
type ExportUserRequest ΒΆ
type ExportUserRequest struct {
}
type ExportUserResponse ΒΆ
type ExportUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of exported messages
Messages []MessageResponse `json:"messages,omitempty"`
// List of exported reactions
Reactions []ReactionResponse `json:"reactions,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ExportUsersRequest ΒΆ
type ExportUsersRequest struct {
UserIds []string `json:"user_ids"`
}
type ExportUsersResponse ΒΆ
type ExportUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
TaskID string `json:"task_id"`
}
Basic response information
type FCMPayload ΒΆ
type FailedChannelUpdates ΒΆ
type FeedCreatedEvent ΒΆ
type FeedCreatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Members []FeedMemberResponse `json:"members"`
Custom map[string]any `json:"custom"`
Feed FeedResponse `json:"feed"`
User UserResponseCommonFields `json:"user"`
// The type of event: "feeds.feed.created" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a feed is created.
func (*FeedCreatedEvent) GetEventType ΒΆ
func (e *FeedCreatedEvent) GetEventType() string
type FeedDeletedEvent ΒΆ
type FeedDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.feed.deleted" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed is deleted.
func (*FeedDeletedEvent) GetEventType ΒΆ
func (e *FeedDeletedEvent) GetEventType() string
type FeedGroup ΒΆ
type FeedGroup struct {
AggregationVersion int `json:"aggregation_version"`
AppPk int `json:"app_pk"`
CreatedAt Timestamp `json:"created_at"`
DefaultVisibility string `json:"default_visibility"`
GroupID string `json:"group_id"`
UpdatedAt Timestamp `json:"updated_at"`
ActivityProcessors []ActivityProcessorConfig `json:"activity_processors"`
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Custom map[string]any `json:"custom"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
LastFeedGetAt *Timestamp `json:"last_feed_get_at,omitempty"`
Aggregation *AggregationConfig `json:"aggregation,omitempty"`
Notification *NotificationConfig `json:"notification,omitempty"`
PushNotification *PushNotificationConfig `json:"push_notification,omitempty"`
Ranking *RankingConfig `json:"ranking,omitempty"`
Stories *StoriesConfig `json:"stories,omitempty"`
}
type FeedGroupChangedEvent ΒΆ
type FeedGroupChangedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.feed_group.changed" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
FeedGroup *FeedGroup `json:"feed_group,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed group is changed.
func (*FeedGroupChangedEvent) GetEventType ΒΆ
func (e *FeedGroupChangedEvent) GetEventType() string
type FeedGroupDeletedEvent ΒΆ
type FeedGroupDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
// The ID of the feed group that was deleted
GroupID string `json:"group_id"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.feed_group.deleted" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a feed group is deleted.
func (*FeedGroupDeletedEvent) GetEventType ΒΆ
func (e *FeedGroupDeletedEvent) GetEventType() string
type FeedGroupResponse ΒΆ
type FeedGroupResponse struct {
// When the feed group was created
CreatedAt Timestamp `json:"created_at"`
// Identifier within the group
ID string `json:"id"`
// When the feed group was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Default visibility for activities. One of: public, visible, followers, members, private
DefaultVisibility *string `json:"default_visibility,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Configuration for activity processors
ActivityProcessors []ActivityProcessorConfig `json:"activity_processors,omitempty"`
// Configuration for activity selectors
ActivitySelectors []ActivitySelectorConfigResponse `json:"activity_selectors,omitempty"`
Aggregation *AggregationConfig `json:"aggregation,omitempty"`
// Custom data for the feed group
Custom map[string]any `json:"custom,omitempty"`
Notification *NotificationConfig `json:"notification,omitempty"`
PushNotification *PushNotificationConfig `json:"push_notification,omitempty"`
Ranking *RankingConfig `json:"ranking,omitempty"`
Stories *StoriesConfig `json:"stories,omitempty"`
}
type FeedGroupRestoredEvent ΒΆ
type FeedGroupRestoredEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
// The ID of the feed group that was restored
GroupID string `json:"group_id"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.feed_group.restored" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a feed group is restored.
func (*FeedGroupRestoredEvent) GetEventType ΒΆ
func (e *FeedGroupRestoredEvent) GetEventType() string
type FeedInput ΒΆ
type FeedInput struct {
Description *string `json:"description,omitempty"`
Name *string `json:"name,omitempty"`
Visibility *string `json:"visibility,omitempty"`
FilterTags []string `json:"filter_tags,omitempty"`
Members []FeedMemberRequest `json:"members,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
}
type FeedMemberAddedEvent ΒΆ
type FeedMemberAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Member FeedMemberResponse `json:"member"`
// The type of event: "feeds.feed_member.added" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed member is added.
func (*FeedMemberAddedEvent) GetEventType ΒΆ
func (e *FeedMemberAddedEvent) GetEventType() string
type FeedMemberRemovedEvent ΒΆ
type FeedMemberRemovedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
MemberID string `json:"member_id"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.feed_member.removed" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed member is removed.
func (*FeedMemberRemovedEvent) GetEventType ΒΆ
func (e *FeedMemberRemovedEvent) GetEventType() string
type FeedMemberRequest ΒΆ
type FeedMemberRequest struct {
// ID of the user to add as a member
UserID string `json:"user_id"`
// Whether this is an invite to become a member
Invite *bool `json:"invite,omitempty"`
// ID of the membership level to assign to the member
MembershipLevel *string `json:"membership_level,omitempty"`
// Role of the member in the feed
Role *string `json:"role,omitempty"`
// Custom data for the member
Custom map[string]any `json:"custom,omitempty"`
}
type FeedMemberResponse ΒΆ
type FeedMemberResponse struct {
// When the membership was created
CreatedAt Timestamp `json:"created_at"`
// Role of the member in the feed
Role string `json:"role"`
// Status of the membership. One of: member, pending, rejected
Status string `json:"status"`
// When the membership was last updated
UpdatedAt Timestamp `json:"updated_at"`
User UserResponse `json:"user"`
// When the invite was accepted
InviteAcceptedAt *Timestamp `json:"invite_accepted_at,omitempty"`
// When the invite was rejected
InviteRejectedAt *Timestamp `json:"invite_rejected_at,omitempty"`
// Custom data for the membership
Custom map[string]any `json:"custom,omitempty"`
MembershipLevel *MembershipLevelResponse `json:"membership_level,omitempty"`
}
type FeedMemberUpdatedEvent ΒΆ
type FeedMemberUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Member FeedMemberResponse `json:"member"`
// The type of event: "feeds.feed_member.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed member is updated.
func (*FeedMemberUpdatedEvent) GetEventType ΒΆ
func (e *FeedMemberUpdatedEvent) GetEventType() string
type FeedOwnCapability ΒΆ
type FeedOwnCapability string
const ( ADD_ACTIVITY FeedOwnCapability = "add-activity" ADD_ACTIVITY_BOOKMARK FeedOwnCapability = "add-activity-bookmark" ADD_ACTIVITY_REACTION FeedOwnCapability = "add-activity-reaction" ADD_COMMENT FeedOwnCapability = "add-comment" ADD_COMMENT_REACTION FeedOwnCapability = "add-comment-reaction" CREATE_FEED FeedOwnCapability = "create-feed" DELETE_ANY_ACTIVITY FeedOwnCapability = "delete-any-activity" DELETE_ANY_COMMENT FeedOwnCapability = "delete-any-comment" DELETE_FEED FeedOwnCapability = "delete-feed" DELETE_OWN_ACTIVITY FeedOwnCapability = "delete-own-activity" DELETE_OWN_ACTIVITY_BOOKMARK FeedOwnCapability = "delete-own-activity-bookmark" DELETE_OWN_ACTIVITY_REACTION FeedOwnCapability = "delete-own-activity-reaction" DELETE_OWN_COMMENT FeedOwnCapability = "delete-own-comment" DELETE_OWN_COMMENT_REACTION FeedOwnCapability = "delete-own-comment-reaction" FOLLOW FeedOwnCapability = "follow" PIN_ACTIVITY FeedOwnCapability = "pin-activity" QUERY_FEED_MEMBERS FeedOwnCapability = "query-feed-members" QUERY_FOLLOWS FeedOwnCapability = "query-follows" READ_ACTIVITIES FeedOwnCapability = "read-activities" READ_FEED FeedOwnCapability = "read-feed" UNFOLLOW FeedOwnCapability = "unfollow" UPDATE_ANY_ACTIVITY FeedOwnCapability = "update-any-activity" UPDATE_ANY_COMMENT FeedOwnCapability = "update-any-comment" UPDATE_FEED FeedOwnCapability = "update-feed" UPDATE_FEED_FOLLOWERS FeedOwnCapability = "update-feed-followers" UPDATE_FEED_MEMBERS FeedOwnCapability = "update-feed-members" UPDATE_OWN_ACTIVITY FeedOwnCapability = "update-own-activity" UPDATE_OWN_ACTIVITY_BOOKMARK FeedOwnCapability = "update-own-activity-bookmark" UPDATE_OWN_COMMENT FeedOwnCapability = "update-own-comment" )
func (FeedOwnCapability) String ΒΆ
func (c FeedOwnCapability) String() string
type FeedOwnData ΒΆ
type FeedOwnData struct {
// Capabilities the current user has for this feed
OwnCapabilities []FeedOwnCapability `json:"own_capabilities,omitempty"`
// Follow relationships where the feed owner's feeds are following the current user's feeds (up to 5 total)
OwnFollowings []FollowResponse `json:"own_followings,omitempty"`
// Follow relationships where the current user's feeds are following this feed
OwnFollows []FollowResponse `json:"own_follows,omitempty"`
OwnMembership *FeedMemberResponse `json:"own_membership,omitempty"`
}
type FeedRequest ΒΆ
type FeedRequest struct {
// ID of the feed group
FeedGroupID string `json:"feed_group_id"`
// ID of the feed
FeedID string `json:"feed_id"`
// ID of the feed creator
CreatedByID *string `json:"created_by_id,omitempty"`
// Description of the feed
Description *string `json:"description,omitempty"`
// Name of the feed
Name *string `json:"name,omitempty"`
// Visibility setting for the feed. One of: public, visible, followers, members, private
Visibility *string `json:"visibility,omitempty"`
// Tags used for filtering feeds
FilterTags []string `json:"filter_tags,omitempty"`
// Initial members for the feed
Members []FeedMemberRequest `json:"members,omitempty"`
// Custom data for the feed
Custom map[string]any `json:"custom,omitempty"`
}
type FeedResponse ΒΆ
type FeedResponse struct {
ActivityCount int `json:"activity_count"`
// When the feed was created
CreatedAt Timestamp `json:"created_at"`
// Description of the feed
Description string `json:"description"`
// Fully qualified feed ID (group_id:id)
Feed string `json:"feed"`
// Number of followers of this feed
FollowerCount int `json:"follower_count"`
// Number of feeds this feed follows
FollowingCount int `json:"following_count"`
// Group this feed belongs to
GroupID string `json:"group_id"`
// Unique identifier for the feed
ID string `json:"id"`
// Number of members in this feed
MemberCount int `json:"member_count"`
// Name of the feed
Name string `json:"name"`
// Number of pinned activities in this feed
PinCount int `json:"pin_count"`
// When the feed was last updated
UpdatedAt Timestamp `json:"updated_at"`
CreatedBy UserResponse `json:"created_by"`
// When the feed was deleted
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Visibility setting for the feed
Visibility *string `json:"visibility,omitempty"`
// Tags used for filtering feeds
FilterTags []string `json:"filter_tags,omitempty"`
// Capabilities the current user has for this feed
OwnCapabilities []FeedOwnCapability `json:"own_capabilities,omitempty"`
// Follow relationships where the feed ownerβs feeds are following the current user's feeds
OwnFollowings []FollowResponse `json:"own_followings,omitempty"`
// Follow relationships where the current user's feeds are following this feed
OwnFollows []FollowResponse `json:"own_follows,omitempty"`
// Custom data for the feed
Custom map[string]any `json:"custom,omitempty"`
OwnMembership *FeedMemberResponse `json:"own_membership,omitempty"`
}
type FeedSuggestionResponse ΒΆ
type FeedSuggestionResponse struct {
ActivityCount int `json:"activity_count"`
// When the feed was created
CreatedAt Timestamp `json:"created_at"`
// Description of the feed
Description string `json:"description"`
// Fully qualified feed ID (group_id:id)
Feed string `json:"feed"`
// Number of followers of this feed
FollowerCount int `json:"follower_count"`
// Number of feeds this feed follows
FollowingCount int `json:"following_count"`
// Group this feed belongs to
GroupID string `json:"group_id"`
// Unique identifier for the feed
ID string `json:"id"`
// Number of members in this feed
MemberCount int `json:"member_count"`
// Name of the feed
Name string `json:"name"`
// Number of pinned activities in this feed
PinCount int `json:"pin_count"`
// When the feed was last updated
UpdatedAt Timestamp `json:"updated_at"`
CreatedBy UserResponse `json:"created_by"`
// When the feed was deleted
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Reason *string `json:"reason,omitempty"`
RecommendationScore *float64 `json:"recommendation_score,omitempty"`
// Visibility setting for the feed
Visibility *string `json:"visibility,omitempty"`
// Tags used for filtering feeds
FilterTags []string `json:"filter_tags,omitempty"`
// Capabilities the current user has for this feed
OwnCapabilities []FeedOwnCapability `json:"own_capabilities,omitempty"`
// Follow relationships where the feed ownerβs feeds are following the current user's feeds
OwnFollowings []FollowResponse `json:"own_followings,omitempty"`
// Follow relationships where the current user's feeds are following this feed
OwnFollows []FollowResponse `json:"own_follows,omitempty"`
AlgorithmScores map[string]float64 `json:"algorithm_scores,omitempty"`
// Custom data for the feed
Custom map[string]any `json:"custom,omitempty"`
OwnMembership *FeedMemberResponse `json:"own_membership,omitempty"`
}
type FeedUpdatedEvent ΒΆ
type FeedUpdatedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Feed FeedResponse `json:"feed"`
// The type of event: "feeds.feed.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a feed is created.
func (*FeedUpdatedEvent) GetEventType ΒΆ
func (e *FeedUpdatedEvent) GetEventType() string
type FeedViewResponse ΒΆ
type FeedViewResponse struct {
// Unique identifier for the custom feed view
ID string `json:"id"`
// When the feed view was last used
LastUsedAt *Timestamp `json:"last_used_at,omitempty"`
// Configured activity selectors
ActivitySelectors []ActivitySelectorConfigResponse `json:"activity_selectors,omitempty"`
Aggregation *AggregationConfig `json:"aggregation,omitempty"`
Ranking *RankingConfig `json:"ranking,omitempty"`
}
type FeedVisibilityResponse ΒΆ
type FeedVisibilityResponse struct {
// Name of the feed visibility level
Name string `json:"name"`
// List of permission policies
Permissions []Permission `json:"permissions"`
// Permission grants for each role
Grants map[string][]string `json:"grants"`
}
type Feeds ΒΆ
type Feeds struct {
// contains filtered or unexported fields
}
func (*Feeds) AcceptFeedMemberInvite ΒΆ
func (c *Feeds) AcceptFeedMemberInvite(ctx context.Context, request *AcceptFeedMemberInviteRequest) (*StreamResponse[AcceptFeedMemberInviteResponse], error)
func (*Feeds) Delete ΒΆ
func (c *Feeds) Delete(ctx context.Context, request *DeleteFeedRequest) (*StreamResponse[DeleteFeedResponse], error)
func (*Feeds) GetOrCreate ΒΆ
func (c *Feeds) GetOrCreate(ctx context.Context, request *GetOrCreateFeedRequest) (*StreamResponse[GetOrCreateFeedResponse], error)
func (*Feeds) MarkActivity ΒΆ
func (c *Feeds) MarkActivity(ctx context.Context, request *MarkActivityRequest) (*StreamResponse[Response], error)
func (*Feeds) PinActivity ΒΆ
func (c *Feeds) PinActivity(ctx context.Context, activityID string, request *PinActivityRequest) (*StreamResponse[PinActivityResponse], error)
func (*Feeds) QueryFeedMembers ΒΆ
func (c *Feeds) QueryFeedMembers(ctx context.Context, request *QueryFeedMembersRequest) (*StreamResponse[QueryFeedMembersResponse], error)
func (*Feeds) QueryPinnedActivities ΒΆ
func (c *Feeds) QueryPinnedActivities(ctx context.Context, request *QueryPinnedActivitiesRequest) (*StreamResponse[QueryPinnedActivitiesResponse], error)
func (*Feeds) RejectFeedMemberInvite ΒΆ
func (c *Feeds) RejectFeedMemberInvite(ctx context.Context, request *RejectFeedMemberInviteRequest) (*StreamResponse[RejectFeedMemberInviteResponse], error)
func (*Feeds) UnpinActivity ΒΆ
func (c *Feeds) UnpinActivity(ctx context.Context, activityID string, request *UnpinActivityRequest) (*StreamResponse[UnpinActivityResponse], error)
func (*Feeds) Update ΒΆ
func (c *Feeds) Update(ctx context.Context, request *UpdateFeedRequest) (*StreamResponse[UpdateFeedResponse], error)
func (*Feeds) UpdateFeedMembers ΒΆ
func (c *Feeds) UpdateFeedMembers(ctx context.Context, request *UpdateFeedMembersRequest) (*StreamResponse[UpdateFeedMembersResponse], error)
type FeedsClient ΒΆ
type FeedsClient struct {
// contains filtered or unexported fields
}
func NewFeedsClient ΒΆ
func NewFeedsClient(client *Client) *FeedsClient
func (*FeedsClient) AcceptFeedMemberInvite ΒΆ
func (c *FeedsClient) AcceptFeedMemberInvite(ctx context.Context, feedID string, feedGroupID string, request *AcceptFeedMemberInviteRequest) (*StreamResponse[AcceptFeedMemberInviteResponse], error)
Accepts a pending feed member request
func (*FeedsClient) AcceptFollow ΒΆ
func (c *FeedsClient) AcceptFollow(ctx context.Context, request *AcceptFollowRequest) (*StreamResponse[AcceptFollowResponse], error)
Accepts a pending follow request
func (*FeedsClient) ActivityFeedback ΒΆ
func (c *FeedsClient) ActivityFeedback(ctx context.Context, activityID string, request *ActivityFeedbackRequest) (*StreamResponse[ActivityFeedbackResponse], error)
Submit feedback for an activity including options to show less, hide, report, or mute the user
func (*FeedsClient) AddActivity ΒΆ
func (c *FeedsClient) AddActivity(ctx context.Context, request *AddActivityRequest) (*StreamResponse[AddActivityResponse], error)
Create a new activity or update an existing one
func (*FeedsClient) AddActivityReaction ΒΆ
func (c *FeedsClient) AddActivityReaction(ctx context.Context, activityID string, request *AddActivityReactionRequest) (*StreamResponse[AddReactionResponse], error)
Adds a reaction to an activity
func (*FeedsClient) AddBookmark ΒΆ
func (c *FeedsClient) AddBookmark(ctx context.Context, activityID string, request *AddBookmarkRequest) (*StreamResponse[AddBookmarkResponse], error)
Adds a bookmark to an activity
func (*FeedsClient) AddComment ΒΆ
func (c *FeedsClient) AddComment(ctx context.Context, request *AddCommentRequest) (*StreamResponse[AddCommentResponse], error)
Adds a comment to an object (e.g., activity) or a reply to an existing comment, and broadcasts appropriate events
func (*FeedsClient) AddCommentReaction ΒΆ
func (c *FeedsClient) AddCommentReaction(ctx context.Context, id string, request *AddCommentReactionRequest) (*StreamResponse[AddCommentReactionResponse], error)
Adds a reaction to a comment
func (*FeedsClient) AddCommentsBatch ΒΆ
func (c *FeedsClient) AddCommentsBatch(ctx context.Context, request *AddCommentsBatchRequest) (*StreamResponse[AddCommentsBatchResponse], error)
Adds multiple comments in a single request. Each comment must specify the object type and ID.
func (*FeedsClient) CastPollVote ΒΆ
func (c *FeedsClient) CastPollVote(ctx context.Context, activityID string, pollID string, request *CastPollVoteRequest) (*StreamResponse[PollVoteResponse], error)
Cast a vote on a poll
Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed
func (*FeedsClient) CreateCollections ΒΆ
func (c *FeedsClient) CreateCollections(ctx context.Context, request *CreateCollectionsRequest) (*StreamResponse[CreateCollectionsResponse], error)
Create new collections in a batch operation. Collections are data objects that can be attached to activities for managing shared data across multiple activities.
func (*FeedsClient) CreateFeedGroup ΒΆ
func (c *FeedsClient) CreateFeedGroup(ctx context.Context, request *CreateFeedGroupRequest) (*StreamResponse[CreateFeedGroupResponse], error)
Creates a new feed group with the specified configuration
func (*FeedsClient) CreateFeedView ΒΆ
func (c *FeedsClient) CreateFeedView(ctx context.Context, request *CreateFeedViewRequest) (*StreamResponse[CreateFeedViewResponse], error)
Create a custom view for a feed group with specific selectors, ranking, or aggregation options
func (*FeedsClient) CreateFeedsBatch ΒΆ
func (c *FeedsClient) CreateFeedsBatch(ctx context.Context, request *CreateFeedsBatchRequest) (*StreamResponse[CreateFeedsBatchResponse], error)
Create multiple feeds at once for a given feed group
func (*FeedsClient) CreateMembershipLevel ΒΆ
func (c *FeedsClient) CreateMembershipLevel(ctx context.Context, request *CreateMembershipLevelRequest) (*StreamResponse[CreateMembershipLevelResponse], error)
Create a new membership level with tag-based access controls
func (*FeedsClient) DeleteActivities ΒΆ
func (c *FeedsClient) DeleteActivities(ctx context.Context, request *DeleteActivitiesRequest) (*StreamResponse[DeleteActivitiesResponse], error)
Delete one or more activities by their IDs
func (*FeedsClient) DeleteActivity ΒΆ
func (c *FeedsClient) DeleteActivity(ctx context.Context, id string, request *DeleteActivityRequest) (*StreamResponse[DeleteActivityResponse], error)
Delete a single activity by its ID
func (*FeedsClient) DeleteActivityReaction ΒΆ
func (c *FeedsClient) DeleteActivityReaction(ctx context.Context, activityID string, _type string, request *DeleteActivityReactionRequest) (*StreamResponse[DeleteActivityReactionResponse], error)
Removes a reaction from an activity
func (*FeedsClient) DeleteBookmark ΒΆ
func (c *FeedsClient) DeleteBookmark(ctx context.Context, activityID string, request *DeleteBookmarkRequest) (*StreamResponse[DeleteBookmarkResponse], error)
Deletes a bookmark from an activity
func (*FeedsClient) DeleteBookmarkFolder ΒΆ
func (c *FeedsClient) DeleteBookmarkFolder(ctx context.Context, folderID string, request *DeleteBookmarkFolderRequest) (*StreamResponse[DeleteBookmarkFolderResponse], error)
Delete a bookmark folder by its ID
func (*FeedsClient) DeleteCollections ΒΆ
func (c *FeedsClient) DeleteCollections(ctx context.Context, request *DeleteCollectionsRequest) (*StreamResponse[DeleteCollectionsResponse], error)
Delete collections in a batch operation. Users can only delete their own collections.
func (*FeedsClient) DeleteComment ΒΆ
func (c *FeedsClient) DeleteComment(ctx context.Context, id string, request *DeleteCommentRequest) (*StreamResponse[DeleteCommentResponse], error)
Deletes a comment from an object (e.g., activity) and broadcasts appropriate events
func (*FeedsClient) DeleteCommentReaction ΒΆ
func (c *FeedsClient) DeleteCommentReaction(ctx context.Context, id string, _type string, request *DeleteCommentReactionRequest) (*StreamResponse[DeleteCommentReactionResponse], error)
Deletes a reaction from a comment
func (*FeedsClient) DeleteFeed ΒΆ
func (c *FeedsClient) DeleteFeed(ctx context.Context, feedGroupID string, feedID string, request *DeleteFeedRequest) (*StreamResponse[DeleteFeedResponse], error)
Delete a single feed by its ID
func (*FeedsClient) DeleteFeedGroup ΒΆ
func (c *FeedsClient) DeleteFeedGroup(ctx context.Context, id string, request *DeleteFeedGroupRequest) (*StreamResponse[DeleteFeedGroupResponse], error)
Delete a feed group by its ID. Can perform a soft delete (default) or hard delete.
func (*FeedsClient) DeleteFeedUserData ΒΆ
func (c *FeedsClient) DeleteFeedUserData(ctx context.Context, userID string, request *DeleteFeedUserDataRequest) (*StreamResponse[DeleteFeedUserDataResponse], error)
Delete all feed data for a user including: feeds, activities, follows, comments, feed reactions, bookmark folders, bookmarks, and collections owned by the user
func (*FeedsClient) DeleteFeedView ΒΆ
func (c *FeedsClient) DeleteFeedView(ctx context.Context, id string, request *DeleteFeedViewRequest) (*StreamResponse[DeleteFeedViewResponse], error)
Delete an existing custom feed view
func (*FeedsClient) DeleteFeedsBatch ΒΆ
func (c *FeedsClient) DeleteFeedsBatch(ctx context.Context, request *DeleteFeedsBatchRequest) (*StreamResponse[DeleteFeedsBatchResponse], error)
Delete multiple feeds by their IDs. All feeds must exist. This endpoint is server-side only.
func (*FeedsClient) DeleteMembershipLevel ΒΆ
func (c *FeedsClient) DeleteMembershipLevel(ctx context.Context, id string, request *DeleteMembershipLevelRequest) (*StreamResponse[Response], error)
Delete a membership level by its UUID. This operation is irreversible.
func (*FeedsClient) DeletePollVote ΒΆ
func (c *FeedsClient) DeletePollVote(ctx context.Context, activityID string, pollID string, voteID string, request *DeletePollVoteRequest) (*StreamResponse[PollVoteResponse], error)
Delete a vote from a poll
Sends events: - feeds.poll.vote_removed - poll.vote_removed
func (*FeedsClient) ExportFeedUserData ΒΆ
func (c *FeedsClient) ExportFeedUserData(ctx context.Context, userID string, request *ExportFeedUserDataRequest) (*StreamResponse[ExportFeedUserDataResponse], error)
Export all feed data for a user including: user profile, feeds, activities, follows, comments, feed reactions, bookmark folders, bookmarks, and collections owned by the user
func (*FeedsClient) Feed ΒΆ
func (c *FeedsClient) Feed(feedType, feedID string) *Feeds
func (*FeedsClient) Follow ΒΆ
func (c *FeedsClient) Follow(ctx context.Context, request *FollowRequest) (*StreamResponse[SingleFollowResponse], error)
Creates a follow and broadcasts FollowAddedEvent
func (*FeedsClient) FollowBatch ΒΆ
func (c *FeedsClient) FollowBatch(ctx context.Context, request *FollowBatchRequest) (*StreamResponse[FollowBatchResponse], error)
Creates multiple follows at once and broadcasts FollowAddedEvent for each follow
func (*FeedsClient) GetActivity ΒΆ
func (c *FeedsClient) GetActivity(ctx context.Context, id string, request *GetActivityRequest) (*StreamResponse[GetActivityResponse], error)
Returns activity by ID
func (*FeedsClient) GetComment ΒΆ
func (c *FeedsClient) GetComment(ctx context.Context, id string, request *GetCommentRequest) (*StreamResponse[GetCommentResponse], error)
Get a comment by ID
func (*FeedsClient) GetCommentReplies ΒΆ
func (c *FeedsClient) GetCommentReplies(ctx context.Context, id string, request *GetCommentRepliesRequest) (*StreamResponse[GetCommentRepliesResponse], error)
Retrieve a threaded list of replies for a single comment, with configurable depth, sorting, and pagination
func (*FeedsClient) GetComments ΒΆ
func (c *FeedsClient) GetComments(ctx context.Context, request *GetCommentsRequest) (*StreamResponse[GetCommentsResponse], error)
Retrieve a threaded list of comments for a specific object (e.g., activity), with configurable depth, sorting, and pagination
func (*FeedsClient) GetFeedGroup ΒΆ
func (c *FeedsClient) GetFeedGroup(ctx context.Context, id string, request *GetFeedGroupRequest) (*StreamResponse[GetFeedGroupResponse], error)
Get a feed group by ID
func (*FeedsClient) GetFeedView ΒΆ
func (c *FeedsClient) GetFeedView(ctx context.Context, id string, request *GetFeedViewRequest) (*StreamResponse[GetFeedViewResponse], error)
Get a feed view by its ID
func (*FeedsClient) GetFeedVisibility ΒΆ
func (c *FeedsClient) GetFeedVisibility(ctx context.Context, name string, request *GetFeedVisibilityRequest) (*StreamResponse[GetFeedVisibilityResponse], error)
Gets feed visibility configuration and permissions
func (*FeedsClient) GetFeedsRateLimits ΒΆ
func (c *FeedsClient) GetFeedsRateLimits(ctx context.Context, request *GetFeedsRateLimitsRequest) (*StreamResponse[GetFeedsRateLimitsResponse], error)
Retrieve current rate limit status for feeds operations. Returns information about limits, usage, and remaining quota for various feed operations.
func (*FeedsClient) GetFollowSuggestions ΒΆ
func (c *FeedsClient) GetFollowSuggestions(ctx context.Context, feedGroupID string, request *GetFollowSuggestionsRequest) (*StreamResponse[GetFollowSuggestionsResponse], error)
Get follow suggestions for a feed group
func (*FeedsClient) GetOrCreateFeed ΒΆ
func (c *FeedsClient) GetOrCreateFeed(ctx context.Context, feedGroupID string, feedID string, request *GetOrCreateFeedRequest) (*StreamResponse[GetOrCreateFeedResponse], error)
Create a single feed for a given feed group
func (*FeedsClient) GetOrCreateFeedGroup ΒΆ
func (c *FeedsClient) GetOrCreateFeedGroup(ctx context.Context, id string, request *GetOrCreateFeedGroupRequest) (*StreamResponse[GetOrCreateFeedGroupResponse], error)
Get an existing feed group or create a new one if it doesn't exist
func (*FeedsClient) GetOrCreateFeedView ΒΆ
func (c *FeedsClient) GetOrCreateFeedView(ctx context.Context, id string, request *GetOrCreateFeedViewRequest) (*StreamResponse[GetOrCreateFeedViewResponse], error)
Get an existing feed view or create a new one if it doesn't exist
func (*FeedsClient) GetOrCreateFollows ΒΆ
func (c *FeedsClient) GetOrCreateFollows(ctx context.Context, request *GetOrCreateFollowsRequest) (*StreamResponse[FollowBatchResponse], error)
Creates or updates multiple follows at once. Does not return an error if follows already exist. Broadcasts FollowAddedEvent only for newly created follows.
func (*FeedsClient) GetOrCreateUnfollows ΒΆ
func (c *FeedsClient) GetOrCreateUnfollows(ctx context.Context, request *GetOrCreateUnfollowsRequest) (*StreamResponse[UnfollowBatchResponse], error)
Removes multiple follows and broadcasts FollowRemovedEvent for each. Does not return an error if follows don't exist.
func (*FeedsClient) ListFeedGroups ΒΆ
func (c *FeedsClient) ListFeedGroups(ctx context.Context, request *ListFeedGroupsRequest) (*StreamResponse[ListFeedGroupsResponse], error)
List all feed groups for the application
func (*FeedsClient) ListFeedViews ΒΆ
func (c *FeedsClient) ListFeedViews(ctx context.Context, request *ListFeedViewsRequest) (*StreamResponse[ListFeedViewsResponse], error)
List all feed views for a feed group
func (*FeedsClient) ListFeedVisibilities ΒΆ
func (c *FeedsClient) ListFeedVisibilities(ctx context.Context, request *ListFeedVisibilitiesRequest) (*StreamResponse[ListFeedVisibilitiesResponse], error)
Gets all available feed visibility configurations and their permissions
func (*FeedsClient) MarkActivity ΒΆ
func (c *FeedsClient) MarkActivity(ctx context.Context, feedGroupID string, feedID string, request *MarkActivityRequest) (*StreamResponse[Response], error)
Mark activities as read/seen/watched. Can mark by timestamp (seen), activity IDs (read), or all as read.
func (*FeedsClient) OwnBatch ΒΆ
func (c *FeedsClient) OwnBatch(ctx context.Context, request *OwnBatchRequest) (*StreamResponse[OwnBatchResponse], error)
Retrieves own_follows, own_capabilities, and/or own_membership for multiple feeds in a single request. If fields are not specified, all three fields are returned.
func (*FeedsClient) PinActivity ΒΆ
func (c *FeedsClient) PinActivity(ctx context.Context, feedGroupID string, feedID string, activityID string, request *PinActivityRequest) (*StreamResponse[PinActivityResponse], error)
Pin an activity to a feed. Pinned activities are typically displayed at the top of a feed.
func (*FeedsClient) QueryActivities ΒΆ
func (c *FeedsClient) QueryActivities(ctx context.Context, request *QueryActivitiesRequest) (*StreamResponse[QueryActivitiesResponse], error)
Query activities based on filters with pagination and sorting options
func (*FeedsClient) QueryActivityReactions ΒΆ
func (c *FeedsClient) QueryActivityReactions(ctx context.Context, activityID string, request *QueryActivityReactionsRequest) (*StreamResponse[QueryActivityReactionsResponse], error)
Query activity reactions
func (*FeedsClient) QueryBookmarkFolders ΒΆ
func (c *FeedsClient) QueryBookmarkFolders(ctx context.Context, request *QueryBookmarkFoldersRequest) (*StreamResponse[QueryBookmarkFoldersResponse], error)
Query bookmark folders with filter query
func (*FeedsClient) QueryBookmarks ΒΆ
func (c *FeedsClient) QueryBookmarks(ctx context.Context, request *QueryBookmarksRequest) (*StreamResponse[QueryBookmarksResponse], error)
Query bookmarks with filter query
func (*FeedsClient) QueryCommentReactions ΒΆ
func (c *FeedsClient) QueryCommentReactions(ctx context.Context, id string, request *QueryCommentReactionsRequest) (*StreamResponse[QueryCommentReactionsResponse], error)
Query comment reactions
func (*FeedsClient) QueryComments ΒΆ
func (c *FeedsClient) QueryComments(ctx context.Context, request *QueryCommentsRequest) (*StreamResponse[QueryCommentsResponse], error)
Query comments using MongoDB-style filters with pagination and sorting options
func (*FeedsClient) QueryFeedMembers ΒΆ
func (c *FeedsClient) QueryFeedMembers(ctx context.Context, feedGroupID string, feedID string, request *QueryFeedMembersRequest) (*StreamResponse[QueryFeedMembersResponse], error)
Query feed members based on filters with pagination and sorting options
func (*FeedsClient) QueryFeeds ΒΆ
func (c *FeedsClient) QueryFeeds(ctx context.Context, request *QueryFeedsRequest) (*StreamResponse[QueryFeedsResponse], error)
Query feeds with filter query
func (*FeedsClient) QueryFeedsUsageStats ΒΆ
func (c *FeedsClient) QueryFeedsUsageStats(ctx context.Context, request *QueryFeedsUsageStatsRequest) (*StreamResponse[QueryFeedsUsageStatsResponse], error)
Retrieve usage statistics for feeds including activity count, follow count, and API request count. Returns data aggregated by day with pagination support via from/to date parameters. This endpoint is server-side only.
func (*FeedsClient) QueryFollows ΒΆ
func (c *FeedsClient) QueryFollows(ctx context.Context, request *QueryFollowsRequest) (*StreamResponse[QueryFollowsResponse], error)
Query follows based on filters with pagination and sorting options
func (*FeedsClient) QueryMembershipLevels ΒΆ
func (c *FeedsClient) QueryMembershipLevels(ctx context.Context, request *QueryMembershipLevelsRequest) (*StreamResponse[QueryMembershipLevelsResponse], error)
Query membership levels with filter query
func (*FeedsClient) QueryPinnedActivities ΒΆ
func (c *FeedsClient) QueryPinnedActivities(ctx context.Context, feedGroupID string, feedID string, request *QueryPinnedActivitiesRequest) (*StreamResponse[QueryPinnedActivitiesResponse], error)
Query pinned activities for a feed with filter query
func (*FeedsClient) ReadCollections ΒΆ
func (c *FeedsClient) ReadCollections(ctx context.Context, request *ReadCollectionsRequest) (*StreamResponse[ReadCollectionsResponse], error)
Read collections with optional filtering by user ID and collection name. By default, users can only read their own collections.
func (*FeedsClient) RejectFeedMemberInvite ΒΆ
func (c *FeedsClient) RejectFeedMemberInvite(ctx context.Context, feedGroupID string, feedID string, request *RejectFeedMemberInviteRequest) (*StreamResponse[RejectFeedMemberInviteResponse], error)
Rejects a pending feed member request
func (*FeedsClient) RejectFollow ΒΆ
func (c *FeedsClient) RejectFollow(ctx context.Context, request *RejectFollowRequest) (*StreamResponse[RejectFollowResponse], error)
Rejects a pending follow request
func (*FeedsClient) RestoreActivity ΒΆ
func (c *FeedsClient) RestoreActivity(ctx context.Context, id string, request *RestoreActivityRequest) (*StreamResponse[RestoreActivityResponse], error)
Restores a soft-deleted activity by its ID. Only the activity owner can restore their own activities.
func (*FeedsClient) RestoreFeedGroup ΒΆ
func (c *FeedsClient) RestoreFeedGroup(ctx context.Context, feedGroupID string, request *RestoreFeedGroupRequest) (*StreamResponse[RestoreFeedGroupResponse], error)
Restores a soft-deleted feed group by its ID. Only clears DeletedAt in the database; no other fields are updated.
func (*FeedsClient) Unfollow ΒΆ
func (c *FeedsClient) Unfollow(ctx context.Context, source string, target string, request *UnfollowRequest) (*StreamResponse[UnfollowResponse], error)
Removes a follow and broadcasts FollowRemovedEvent
func (*FeedsClient) UnfollowBatch ΒΆ
func (c *FeedsClient) UnfollowBatch(ctx context.Context, request *UnfollowBatchRequest) (*StreamResponse[UnfollowBatchResponse], error)
Removes multiple follows at once and broadcasts FollowRemovedEvent for each one
func (*FeedsClient) UnpinActivity ΒΆ
func (c *FeedsClient) UnpinActivity(ctx context.Context, feedGroupID string, feedID string, activityID string, request *UnpinActivityRequest) (*StreamResponse[UnpinActivityResponse], error)
Unpin an activity from a feed. This removes the pin, so the activity will no longer be displayed at the top of the feed.
func (*FeedsClient) UpdateActivitiesPartialBatch ΒΆ
func (c *FeedsClient) UpdateActivitiesPartialBatch(ctx context.Context, request *UpdateActivitiesPartialBatchRequest) (*StreamResponse[UpdateActivitiesPartialBatchResponse], error)
Updates certain fields of multiple activities in a batch. Use 'set' to update specific fields and 'unset' to remove fields. Activities that fail due to not found, permission denied, or no changes detected are silently skipped and not included in the response. However, validation errors (e.g., updating reserved fields, invalid field values) will fail the entire batch request.
Sends events: - feeds.activity.updated
func (*FeedsClient) UpdateActivity ΒΆ
func (c *FeedsClient) UpdateActivity(ctx context.Context, id string, request *UpdateActivityRequest) (*StreamResponse[UpdateActivityResponse], error)
Replaces an activity with the provided data. Use this to update text, attachments, reply restrictions ('restrict_replies'), mentioned users, and other activity fields. Note: This is a full update - any fields not provided will be cleared.
Sends events: - feeds.activity.updated
func (*FeedsClient) UpdateActivityPartial ΒΆ
func (c *FeedsClient) UpdateActivityPartial(ctx context.Context, id string, request *UpdateActivityPartialRequest) (*StreamResponse[UpdateActivityPartialResponse], error)
Updates certain fields of the activity. Use 'set' to update specific fields and 'unset' to remove fields. This allows you to update only the fields you need without replacing the entire activity. Useful for updating reply restrictions ('restrict_replies'), mentioned users, or custom data.
Sends events: - feeds.activity.updated
func (*FeedsClient) UpdateBookmark ΒΆ
func (c *FeedsClient) UpdateBookmark(ctx context.Context, activityID string, request *UpdateBookmarkRequest) (*StreamResponse[UpdateBookmarkResponse], error)
Updates a bookmark for an activity
func (*FeedsClient) UpdateBookmarkFolder ΒΆ
func (c *FeedsClient) UpdateBookmarkFolder(ctx context.Context, folderID string, request *UpdateBookmarkFolderRequest) (*StreamResponse[UpdateBookmarkFolderResponse], error)
Update a bookmark folder by its ID
func (*FeedsClient) UpdateCollections ΒΆ
func (c *FeedsClient) UpdateCollections(ctx context.Context, request *UpdateCollectionsRequest) (*StreamResponse[UpdateCollectionsResponse], error)
Update existing collections in a batch operation. Only the custom data field is updatable. Users can only update their own collections.
func (*FeedsClient) UpdateComment ΒΆ
func (c *FeedsClient) UpdateComment(ctx context.Context, id string, request *UpdateCommentRequest) (*StreamResponse[UpdateCommentResponse], error)
Updates a comment on an object (e.g., activity) and broadcasts appropriate events
func (*FeedsClient) UpdateFeed ΒΆ
func (c *FeedsClient) UpdateFeed(ctx context.Context, feedGroupID string, feedID string, request *UpdateFeedRequest) (*StreamResponse[UpdateFeedResponse], error)
Update an existing feed
func (*FeedsClient) UpdateFeedGroup ΒΆ
func (c *FeedsClient) UpdateFeedGroup(ctx context.Context, id string, request *UpdateFeedGroupRequest) (*StreamResponse[UpdateFeedGroupResponse], error)
Update a feed group by ID
func (*FeedsClient) UpdateFeedMembers ΒΆ
func (c *FeedsClient) UpdateFeedMembers(ctx context.Context, feedGroupID string, feedID string, request *UpdateFeedMembersRequest) (*StreamResponse[UpdateFeedMembersResponse], error)
Add, remove, or set members for a feed
func (*FeedsClient) UpdateFeedView ΒΆ
func (c *FeedsClient) UpdateFeedView(ctx context.Context, id string, request *UpdateFeedViewRequest) (*StreamResponse[UpdateFeedViewResponse], error)
Update an existing custom feed view with new selectors, ranking, or aggregation options
func (*FeedsClient) UpdateFeedVisibility ΒΆ
func (c *FeedsClient) UpdateFeedVisibility(ctx context.Context, name string, request *UpdateFeedVisibilityRequest) (*StreamResponse[UpdateFeedVisibilityResponse], error)
Updates an existing predefined feed visibility configuration
func (*FeedsClient) UpdateFollow ΒΆ
func (c *FeedsClient) UpdateFollow(ctx context.Context, request *UpdateFollowRequest) (*StreamResponse[UpdateFollowResponse], error)
Updates a follow's custom data, push preference, and follower role. Source owner can update custom data and push preference. Follower role can only be updated via server-side requests.
func (*FeedsClient) UpdateMembershipLevel ΒΆ
func (c *FeedsClient) UpdateMembershipLevel(ctx context.Context, id string, request *UpdateMembershipLevelRequest) (*StreamResponse[UpdateMembershipLevelResponse], error)
Update a membership level with partial updates. Only specified fields will be updated.
func (*FeedsClient) UpsertActivities ΒΆ
func (c *FeedsClient) UpsertActivities(ctx context.Context, request *UpsertActivitiesRequest) (*StreamResponse[UpsertActivitiesResponse], error)
Create new activities or update existing ones in a batch operation
func (*FeedsClient) UpsertCollections ΒΆ
func (c *FeedsClient) UpsertCollections(ctx context.Context, request *UpsertCollectionsRequest) (*StreamResponse[UpsertCollectionsResponse], error)
Insert new collections or update existing ones in a batch operation. Only the custom data field is updatable for existing collections.
type FeedsModerationTemplateConfigPayload ΒΆ
type FeedsModerationTemplateConfigPayload struct {
// Map of data type names to their content types
DataTypes map[string]string `json:"data_types"`
// Key of the moderation configuration to use
ConfigKey *string `json:"config_key,omitempty"`
}
Configuration for a feeds moderation template
type FeedsPreferences ΒΆ
type FeedsPreferences struct {
// Push notification preference for comments on user's activities. One of: all, none
Comment *string `json:"comment,omitempty"`
// Push notification preference for reactions on comments. One of: all, none
CommentReaction *string `json:"comment_reaction,omitempty"`
// Push notification preference for replies to comments. One of: all, none
CommentReply *string `json:"comment_reply,omitempty"`
// Push notification preference for new followers. One of: all, none
Follow *string `json:"follow,omitempty"`
// Push notification preference for mentions in activities or comments. One of: all, none
Mention *string `json:"mention,omitempty"`
// Push notification preference for reactions on user's activities or comments. One of: all, none
Reaction *string `json:"reaction,omitempty"`
// Push notification preferences for custom activity types. Map of activity type to preference (all or none)
CustomActivityTypes map[string]string `json:"custom_activity_types,omitempty"`
}
type FeedsPreferencesResponse ΒΆ
type FeedsPreferencesResponse struct {
Comment *string `json:"comment,omitempty"`
CommentReaction *string `json:"comment_reaction,omitempty"`
CommentReply *string `json:"comment_reply,omitempty"`
Follow *string `json:"follow,omitempty"`
Mention *string `json:"mention,omitempty"`
Reaction *string `json:"reaction,omitempty"`
CustomActivityTypes map[string]string `json:"custom_activity_types,omitempty"`
}
type FeedsReactionResponse ΒΆ
type FeedsReactionResponse struct {
// ID of the activity that was reacted to
ActivityID string `json:"activity_id"`
// When the reaction was created
CreatedAt Timestamp `json:"created_at"`
// When the reaction was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Type of reaction
Type string `json:"type"`
User UserResponse `json:"user"`
// ID of the comment that was reacted to
CommentID *string `json:"comment_id,omitempty"`
// Custom data for the reaction
Custom map[string]any `json:"custom,omitempty"`
}
type FileUploadConfig ΒΆ
type FileUploadConfig struct {
SizeLimit int `json:"size_limit"`
AllowedFileExtensions []string `json:"allowed_file_extensions,omitempty"`
AllowedMimeTypes []string `json:"allowed_mime_types,omitempty"`
BlockedFileExtensions []string `json:"blocked_file_extensions,omitempty"`
BlockedMimeTypes []string `json:"blocked_mime_types,omitempty"`
}
type FileUploadRequest ΒΆ
type FileUploadRequest struct {
// file field
File *string `json:"file,omitempty"`
User *OnlyUserID `json:"user,omitempty"`
}
type FileUploadResponse ΒΆ
type FileUploadResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// URL to the uploaded asset. Should be used to put to `asset_url` attachment field
File *string `json:"file,omitempty"`
// URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field
ThumbUrl *string `json:"thumb_url,omitempty"`
}
type FilterConfigResponse ΒΆ
type FirebaseConfig ΒΆ
type FirebaseConfig struct {
ApnTemplate *string `json:"apn_template,omitempty"`
CredentialsJson *string `json:"credentials_json,omitempty"`
DataTemplate *string `json:"data_template,omitempty"`
Disabled *bool `json:"Disabled,omitempty"`
NotificationTemplate *string `json:"notification_template,omitempty"`
ServerKey *string `json:"server_key,omitempty"`
}
type FirebaseConfigFields ΒΆ
type FirebaseConfigFields struct {
Enabled bool `json:"enabled"`
ApnTemplate *string `json:"apn_template,omitempty"`
CredentialsJson *string `json:"credentials_json,omitempty"`
DataTemplate *string `json:"data_template,omitempty"`
NotificationTemplate *string `json:"notification_template,omitempty"`
ServerKey *string `json:"server_key,omitempty"`
}
type FlagCountRuleParameters ΒΆ
type FlagCountRuleParameters struct {
Threshold *int `json:"threshold,omitempty"`
}
type FlagDetailsResponse ΒΆ
type FlagDetailsResponse struct {
OriginalText string `json:"original_text"`
Automod *AutomodDetailsResponse `json:"automod,omitempty"`
Extra map[string]any `json:"extra,omitempty"`
}
type FlagFeedbackResponse ΒΆ
type FlagFeedbackResponse struct {
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Labels []LabelResponse `json:"labels"`
}
type FlagRequest ΒΆ
type FlagRequest struct {
EntityID string `json:"entity_id"`
EntityType string `json:"entity_type"`
EntityCreatorID *string `json:"entity_creator_id"`
Reason *string `json:"reason"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
ModerationPayload *ModerationPayload `json:"moderation_payload"`
User *UserRequest `json:"user"`
}
type FlagResponse ΒΆ
type FlagUpdatedEvent ΒΆ
type FlagUpdatedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
CreatedBy *UserResponse `json:"CreatedBy,omitempty"`
Message *MessageResponse `json:"Message,omitempty"`
User *UserResponse `json:"User,omitempty"`
}
func (*FlagUpdatedEvent) GetEventType ΒΆ
func (e *FlagUpdatedEvent) GetEventType() string
type FlagUserOptions ΒΆ
type FlagUserOptions struct {
Reason *string `json:"reason,omitempty"`
}
type FollowBatchRequest ΒΆ
type FollowBatchRequest struct {
Follows []FollowRequest `json:"follows"`
}
type FollowBatchResponse ΒΆ
type FollowBatchResponse struct {
Duration string `json:"duration"`
// List of newly created follow relationships
Created []FollowResponse `json:"created"`
// List of current follow relationships
Follows []FollowResponse `json:"follows"`
}
type FollowCreatedEvent ΒΆ
type FollowCreatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Follow FollowResponse `json:"follow"`
// The type of event: "feeds.follow.created" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a feed follows another feed.
func (*FollowCreatedEvent) GetEventType ΒΆ
func (e *FollowCreatedEvent) GetEventType() string
type FollowDeletedEvent ΒΆ
type FollowDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Follow FollowResponse `json:"follow"`
// The type of event: "feeds.follow.deleted" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a feed unfollows another feed.
func (*FollowDeletedEvent) GetEventType ΒΆ
func (e *FollowDeletedEvent) GetEventType() string
type FollowPair ΒΆ
type FollowRequest ΒΆ
type FollowRequest struct {
Source string `json:"source"`
Target string `json:"target"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
PushPreference *string `json:"push_preference"`
SkipPush *bool `json:"skip_push"`
Status *string `json:"status"`
Custom map[string]any `json:"custom"`
}
type FollowResponse ΒΆ
type FollowResponse struct {
// When the follow relationship was created
CreatedAt Timestamp `json:"created_at"`
// Role of the follower (source user) in the follow relationship
FollowerRole string `json:"follower_role"`
// Push preference for notifications. One of: all, none
PushPreference string `json:"push_preference"`
// Status of the follow relationship. One of: accepted, pending, rejected
Status string `json:"status"`
// When the follow relationship was last updated
UpdatedAt Timestamp `json:"updated_at"`
SourceFeed FeedResponse `json:"source_feed"`
TargetFeed FeedResponse `json:"target_feed"`
// When the follow request was accepted
RequestAcceptedAt *Timestamp `json:"request_accepted_at,omitempty"`
// When the follow request was rejected
RequestRejectedAt *Timestamp `json:"request_rejected_at,omitempty"`
// Custom data for the follow relationship
Custom map[string]any `json:"custom,omitempty"`
}
type FollowUpdatedEvent ΒΆ
type FollowUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
Follow FollowResponse `json:"follow"`
// The type of event: "feeds.follow.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Emitted when a follow relationship is updated.
func (*FollowUpdatedEvent) GetEventType ΒΆ
func (e *FollowUpdatedEvent) GetEventType() string
type FrameRecordSettings ΒΆ
type FrameRecordingResponse ΒΆ
type FrameRecordingResponse struct {
Status string `json:"status"`
}
type FriendReactionsOptions ΒΆ
type FriendReactionsOptions struct {
// Default: false. When true, fetches friend reactions for activities.
Enabled *bool `json:"enabled,omitempty"`
// Default: 3, Max: 10. The maximum number of friend reactions to return per activity.
Limit *int `json:"limit,omitempty"`
// Default: 'following'. The type of friend relationship to use. 'following' = users you follow, 'mutual' = users with mutual follows. One of: following, mutual
Type *string `json:"type,omitempty"`
}
Options to control fetching reactions from friends (users you follow or have mutual follows with).
type FullUserResponse ΒΆ
type FullUserResponse struct {
Banned bool `json:"banned"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Invisible bool `json:"invisible"`
Language string `json:"language"`
Online bool `json:"online"`
Role string `json:"role"`
ShadowBanned bool `json:"shadow_banned"`
TotalUnreadCount int `json:"total_unread_count"`
UnreadChannels int `json:"unread_channels"`
UnreadCount int `json:"unread_count"`
UnreadThreads int `json:"unread_threads"`
UpdatedAt Timestamp `json:"updated_at"`
BlockedUserIds []string `json:"blocked_user_ids"`
ChannelMutes []ChannelMute `json:"channel_mutes"`
Devices []DeviceResponse `json:"devices"`
Mutes []UserMuteResponse `json:"mutes"`
Teams []string `json:"teams"`
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
BanExpires *Timestamp `json:"ban_expires,omitempty"`
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
LastActive *Timestamp `json:"last_active,omitempty"`
Name *string `json:"name,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
LatestHiddenChannels []string `json:"latest_hidden_channels,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
type FutureChannelBanResponse ΒΆ
type FutureChannelBanResponse struct {
CreatedAt Timestamp `json:"created_at"`
Expires *Timestamp `json:"expires,omitempty"`
Reason *string `json:"reason,omitempty"`
Shadow *bool `json:"shadow,omitempty"`
BannedBy *UserResponse `json:"banned_by,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type GeofenceResponse ΒΆ
type GeofenceSettings ΒΆ
type GeofenceSettings struct {
Names []string `json:"names"`
}
type GeofenceSettingsRequest ΒΆ
type GeofenceSettingsRequest struct {
Names []string `json:"names,omitempty"`
}
type GeofenceSettingsResponse ΒΆ
type GeofenceSettingsResponse struct {
Names []string `json:"names"`
}
type GetActiveCallsStatusRequest ΒΆ
type GetActiveCallsStatusRequest struct {
}
type GetActiveCallsStatusResponse ΒΆ
type GetActiveCallsStatusResponse struct {
Duration string `json:"duration"`
// End time of the status period
EndTime Timestamp `json:"end_time"`
// Start time of the status period
StartTime Timestamp `json:"start_time"`
Metrics *ActiveCallsMetrics `json:"metrics,omitempty"`
Summary *ActiveCallsSummary `json:"summary,omitempty"`
}
Response containing active calls status information
type GetActivityRequest ΒΆ
type GetActivityRequest struct {
}
type GetActivityResponse ΒΆ
type GetActivityResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
}
type GetAppRequest ΒΆ
type GetAppRequest struct {
}
type GetAppealRequest ΒΆ
type GetAppealRequest struct {
}
type GetAppealResponse ΒΆ
type GetAppealResponse struct {
Duration string `json:"duration"`
Item *AppealItemResponse `json:"item,omitempty"`
}
type GetApplicationResponse ΒΆ
type GetApplicationResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
App AppResponseFields `json:"app"`
}
Basic response information
type GetBlockListRequest ΒΆ
type GetBlockListRequest struct {
Team *string `json:"-" query:"team"`
}
type GetBlockListResponse ΒΆ
type GetBlockListResponse struct {
Duration string `json:"duration"`
Blocklist *BlockListResponse `json:"blocklist,omitempty"`
}
Response for get block list
type GetBlockedUsersRequest ΒΆ
type GetBlockedUsersRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type GetBlockedUsersResponse ΒΆ
type GetBlockedUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Array of blocked user object
Blocks []BlockedUserResponse `json:"blocks"`
}
type GetCallParticipantSessionMetricsResponse ΒΆ
type GetCallParticipantSessionMetricsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
IsPublisher *bool `json:"is_publisher,omitempty"`
IsSubscriber *bool `json:"is_subscriber,omitempty"`
JoinedAt *Timestamp `json:"joined_at,omitempty"`
PublisherType *string `json:"publisher_type,omitempty"`
UserID *string `json:"user_id,omitempty"`
UserSessionID *string `json:"user_session_id,omitempty"`
PublishedTracks []PublishedTrackMetrics `json:"published_tracks,omitempty"`
Client *SessionClient `json:"client,omitempty"`
}
Basic response information
type GetCallReportRequest ΒΆ
type GetCallReportRequest struct {
SessionID *string `json:"-" query:"session_id"`
}
type GetCallReportResponse ΒΆ
type GetCallReportResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
SessionID string `json:"session_id"`
Report ReportResponse `json:"report"`
VideoReactions []VideoReactionsResponse `json:"video_reactions,omitempty"`
ChatActivity *ChatActivityStatsResponse `json:"chat_activity,omitempty"`
Session *CallSessionResponse `json:"session,omitempty"`
}
Basic response information
type GetCallRequest ΒΆ
type GetCallResponse ΒΆ
type GetCallResponse struct {
Duration string `json:"duration"`
Members []MemberResponse `json:"members"`
OwnCapabilities []OwnCapability `json:"own_capabilities"`
Call CallResponse `json:"call"`
}
type GetCallSessionParticipantStatsDetailsResponse ΒΆ
type GetCallSessionParticipantStatsDetailsResponse struct {
CallID string `json:"call_id"`
CallSessionID string `json:"call_session_id"`
CallType string `json:"call_type"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
UserID string `json:"user_id"`
UserSessionID string `json:"user_session_id"`
Publisher *ParticipantSeriesPublisherStats `json:"publisher,omitempty"`
Subscriber *ParticipantSeriesSubscriberStats `json:"subscriber,omitempty"`
Timeframe *ParticipantSeriesTimeframe `json:"timeframe,omitempty"`
User *ParticipantSeriesUserStats `json:"user,omitempty"`
}
Basic response information
type GetCallStatsMapRequest ΒΆ
type GetCallStatsMapRequest struct {
StartTime *Timestamp `json:"-" query:"start_time"`
EndTime *Timestamp `json:"-" query:"end_time"`
ExcludePublishers *bool `json:"-" query:"exclude_publishers"`
ExcludeSubscribers *bool `json:"-" query:"exclude_subscribers"`
ExcludeSfus *bool `json:"-" query:"exclude_sfus"`
}
type GetCallTypeRequest ΒΆ
type GetCallTypeRequest struct {
}
type GetCallTypeResponse ΒΆ
type GetCallTypeResponse struct {
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
Grants map[string][]string `json:"grants"`
NotificationSettings NotificationSettingsResponse `json:"notification_settings"`
Settings CallSettingsResponse `json:"settings"`
ExternalStorage *string `json:"external_storage,omitempty"`
}
type GetCampaignRequest ΒΆ
type GetCampaignResponse ΒΆ
type GetCampaignResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Campaign *CampaignResponse `json:"campaign,omitempty"`
Users *PagerResponse `json:"users,omitempty"`
}
Basic response information
type GetChannelTypeRequest ΒΆ
type GetChannelTypeRequest struct {
}
type GetChannelTypeResponse ΒΆ
type GetChannelTypeResponse struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
Commands []Command `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
Grants map[string][]string `json:"grants"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
}
Basic response information
type GetCommandRequest ΒΆ
type GetCommandRequest struct {
}
type GetCommandResponse ΒΆ
type GetCommentRepliesRequest ΒΆ
type GetCommentRepliesRequest struct {
Depth *int `json:"-" query:"depth"`
Sort *string `json:"-" query:"sort"`
RepliesLimit *int `json:"-" query:"replies_limit"`
UserID *string `json:"-" query:"user_id"`
Limit *int `json:"-" query:"limit"`
Prev *string `json:"-" query:"prev"`
Next *string `json:"-" query:"next"`
}
type GetCommentRepliesResponse ΒΆ
type GetCommentRepliesResponse struct {
Duration string `json:"duration"`
// Sort order used for the replies (first, last, top, best, controversial)
Sort string `json:"sort"`
// Threaded listing of replies to the comment
Comments []ThreadedCommentResponse `json:"comments"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type GetCommentRequest ΒΆ
type GetCommentRequest struct {
}
type GetCommentResponse ΒΆ
type GetCommentResponse struct {
Duration string `json:"duration"`
Comment CommentResponse `json:"comment"`
}
type GetCommentsRequest ΒΆ
type GetCommentsRequest struct {
ObjectID string `json:"-" query:"object_id"`
ObjectType string `json:"-" query:"object_type"`
Depth *int `json:"-" query:"depth"`
Sort *string `json:"-" query:"sort"`
RepliesLimit *int `json:"-" query:"replies_limit"`
UserID *string `json:"-" query:"user_id"`
Limit *int `json:"-" query:"limit"`
Prev *string `json:"-" query:"prev"`
Next *string `json:"-" query:"next"`
}
type GetCommentsResponse ΒΆ
type GetCommentsResponse struct {
Duration string `json:"duration"`
// Sort order used for the comments (first, last, top, best, controversial)
Sort string `json:"sort"`
// Threaded listing for the activity
Comments []ThreadedCommentResponse `json:"comments"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type GetConfigRequest ΒΆ
type GetConfigRequest struct {
Team *string `json:"-" query:"team"`
}
type GetConfigResponse ΒΆ
type GetConfigResponse struct {
Duration string `json:"duration"`
Config *ConfigResponse `json:"config,omitempty"`
}
type GetCustomPermissionResponse ΒΆ
type GetCustomPermissionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Permission Permission `json:"permission"`
}
Basic response information
type GetDraftRequest ΒΆ
type GetDraftResponse ΒΆ
type GetDraftResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Draft DraftResponse `json:"draft"`
}
Basic response information
type GetEdgesRequest ΒΆ
type GetEdgesRequest struct {
}
type GetEdgesResponse ΒΆ
type GetEdgesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Edges []EdgeResponse `json:"edges"`
}
Basic response information
type GetFeedGroupRequest ΒΆ
type GetFeedGroupRequest struct {
IncludeSoftDeleted *bool `json:"-" query:"include_soft_deleted"`
}
type GetFeedGroupResponse ΒΆ
type GetFeedGroupResponse struct {
Duration string `json:"duration"`
FeedGroup FeedGroupResponse `json:"feed_group"`
}
type GetFeedViewRequest ΒΆ
type GetFeedViewRequest struct {
}
type GetFeedViewResponse ΒΆ
type GetFeedViewResponse struct {
Duration string `json:"duration"`
FeedView FeedViewResponse `json:"feed_view"`
}
type GetFeedVisibilityRequest ΒΆ
type GetFeedVisibilityRequest struct {
}
type GetFeedVisibilityResponse ΒΆ
type GetFeedVisibilityResponse struct {
Duration string `json:"duration"`
FeedVisibility FeedVisibilityResponse `json:"feed_visibility"`
}
type GetFeedsRateLimitsResponse ΒΆ
type GetFeedsRateLimitsResponse struct {
Duration string `json:"duration"`
// Rate limits for Android platform (endpoint name -> limit info)
Android map[string]LimitInfoResponse `json:"android,omitempty"`
// Rate limits for iOS platform (endpoint name -> limit info)
Ios map[string]LimitInfoResponse `json:"ios,omitempty"`
// Rate limits for server-side platform (endpoint name -> limit info)
ServerSide map[string]LimitInfoResponse `json:"server_side,omitempty"`
// Rate limits for Web platform (endpoint name -> limit info)
Web map[string]LimitInfoResponse `json:"web,omitempty"`
}
type GetFollowSuggestionsResponse ΒΆ
type GetFollowSuggestionsResponse struct {
Duration string `json:"duration"`
// List of suggested feeds to follow
Suggestions []FeedSuggestionResponse `json:"suggestions"`
AlgorithmUsed *string `json:"algorithm_used,omitempty"`
}
type GetImportRequest ΒΆ
type GetImportRequest struct {
}
type GetImportResponse ΒΆ
type GetImportResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ImportTask *ImportTask `json:"import_task,omitempty"`
}
Basic response information
type GetImportV2TaskRequest ΒΆ
type GetImportV2TaskRequest struct {
}
type GetImportV2TaskResponse ΒΆ
type GetImportV2TaskResponse struct {
AppPk int `json:"app_pk"`
CreatedAt Timestamp `json:"created_at"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
ID string `json:"id"`
Product string `json:"product"`
State int `json:"state"`
UpdatedAt Timestamp `json:"updated_at"`
Settings ImportV2TaskSettings `json:"settings"`
}
Basic response information
type GetManyMessagesRequest ΒΆ
type GetManyMessagesRequest struct {
Ids []string `json:"-" query:"ids"`
}
type GetManyMessagesResponse ΒΆ
type GetManyMessagesResponse struct {
Duration string `json:"duration"`
// List of messages
Messages []MessageResponse `json:"messages"`
}
type GetMessageRequest ΒΆ
type GetMessageRequest struct {
ShowDeletedMessage *bool `json:"-" query:"show_deleted_message"`
}
type GetMessageResponse ΒΆ
type GetMessageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageWithChannelResponse `json:"message"`
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`
}
Basic response information
type GetModerationRuleRequest ΒΆ
type GetModerationRuleRequest struct {
}
type GetModerationRuleResponse ΒΆ
type GetModerationRuleResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Rule *ModerationRuleV2Response `json:"rule,omitempty"`
}
Basic response information
type GetOGRequest ΒΆ
type GetOGRequest struct {
Url string `json:"-" query:"url"`
}
type GetOGResponse ΒΆ
type GetOGResponse struct {
Duration string `json:"duration"`
Custom map[string]any `json:"custom"`
// URL of detected video or audio
AssetUrl *string `json:"asset_url,omitempty"`
AuthorIcon *string `json:"author_icon,omitempty"`
// og:site
AuthorLink *string `json:"author_link,omitempty"`
// og:site_name
AuthorName *string `json:"author_name,omitempty"`
Color *string `json:"color,omitempty"`
Fallback *string `json:"fallback,omitempty"`
// URL of detected image
ImageUrl *string `json:"image_url,omitempty"`
// extracted url from the text
OGScrapeUrl *string `json:"og_scrape_url,omitempty"`
OriginalHeight *int `json:"original_height,omitempty"`
OriginalWidth *int `json:"original_width,omitempty"`
Pretext *string `json:"pretext,omitempty"`
// og:description
Text *string `json:"text,omitempty"`
// URL of detected thumb image
ThumbUrl *string `json:"thumb_url,omitempty"`
// og:title
Title *string `json:"title,omitempty"`
// og:url
TitleLink *string `json:"title_link,omitempty"`
// Attachment type, could be empty, image, audio or video
Type *string `json:"type,omitempty"`
Actions []Action `json:"actions,omitempty"`
Fields []Field `json:"fields,omitempty"`
Giphy *Images `json:"giphy,omitempty"`
}
type GetOrCreateCallRequest ΒΆ
type GetOrCreateCallRequest struct {
MembersLimit *int `json:"members_limit"`
Notify *bool `json:"notify"`
Ring *bool `json:"ring"`
Video *bool `json:"video"`
Data *CallRequest `json:"data"`
}
type GetOrCreateCallResponse ΒΆ
type GetOrCreateCallResponse struct {
Created bool `json:"created"`
Duration string `json:"duration"`
Members []MemberResponse `json:"members"`
OwnCapabilities []OwnCapability `json:"own_capabilities"`
Call CallResponse `json:"call"`
}
type GetOrCreateChannelRequest ΒΆ
type GetOrCreateChannelRequest struct {
HideForCreator *bool `json:"hide_for_creator"`
State *bool `json:"state"`
ThreadUnreadCounts *bool `json:"thread_unread_counts"`
Data *ChannelInput `json:"data"`
Members *PaginationParams `json:"members"`
Messages *MessagePaginationParams `json:"messages"`
Watchers *PaginationParams `json:"watchers"`
}
type GetOrCreateDistinctChannelRequest ΒΆ
type GetOrCreateDistinctChannelRequest struct {
HideForCreator *bool `json:"hide_for_creator"`
State *bool `json:"state"`
ThreadUnreadCounts *bool `json:"thread_unread_counts"`
Data *ChannelInput `json:"data"`
Members *PaginationParams `json:"members"`
Messages *MessagePaginationParams `json:"messages"`
Watchers *PaginationParams `json:"watchers"`
}
type GetOrCreateFeedGroupRequest ΒΆ
type GetOrCreateFeedGroupRequest struct {
DefaultVisibility *string `json:"default_visibility"`
ActivityProcessors []ActivityProcessorConfig `json:"activity_processors"`
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Custom map[string]any `json:"custom"`
Notification *NotificationConfig `json:"notification"`
PushNotification *PushNotificationConfig `json:"push_notification"`
Ranking *RankingConfig `json:"ranking"`
Stories *StoriesConfig `json:"stories"`
}
type GetOrCreateFeedGroupResponse ΒΆ
type GetOrCreateFeedGroupResponse struct {
Duration string `json:"duration"`
// Indicates whether the feed group was created (true) or already existed (false)
WasCreated bool `json:"was_created"`
FeedGroup FeedGroupResponse `json:"feed_group"`
}
type GetOrCreateFeedRequest ΒΆ
type GetOrCreateFeedRequest struct {
IDAround *string `json:"id_around"`
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
View *string `json:"view"`
Watch *bool `json:"watch"`
Data *FeedInput `json:"data"`
EnrichmentOptions *EnrichmentOptions `json:"enrichment_options"`
ExternalRanking map[string]any `json:"external_ranking"`
Filter map[string]any `json:"filter"`
FollowersPagination *PagerRequest `json:"followers_pagination"`
FollowingPagination *PagerRequest `json:"following_pagination"`
FriendReactionsOptions *FriendReactionsOptions `json:"friend_reactions_options"`
InterestWeights map[string]float64 `json:"interest_weights"`
MemberPagination *PagerRequest `json:"member_pagination"`
User *UserRequest `json:"user"`
}
type GetOrCreateFeedResponse ΒΆ
type GetOrCreateFeedResponse struct {
Created bool `json:"created"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
Activities []ActivityResponse `json:"activities"`
AggregatedActivities []AggregatedActivityResponse `json:"aggregated_activities"`
Followers []FollowResponse `json:"followers"`
Following []FollowResponse `json:"following"`
Members []FeedMemberResponse `json:"members"`
PinnedActivities []ActivityPinResponse `json:"pinned_activities"`
Feed FeedResponse `json:"feed"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
FollowersPagination *PagerResponse `json:"followers_pagination,omitempty"`
FollowingPagination *PagerResponse `json:"following_pagination,omitempty"`
MemberPagination *PagerResponse `json:"member_pagination,omitempty"`
NotificationStatus *NotificationStatusResponse `json:"notification_status,omitempty"`
}
Basic response information
type GetOrCreateFeedViewRequest ΒΆ
type GetOrCreateFeedViewRequest struct {
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Ranking *RankingConfig `json:"ranking"`
}
type GetOrCreateFeedViewResponse ΒΆ
type GetOrCreateFeedViewResponse struct {
Duration string `json:"duration"`
// Indicates whether the feed view was newly created (true) or already existed (false)
WasCreated bool `json:"was_created"`
FeedView FeedViewResponse `json:"feed_view"`
}
type GetOrCreateFollowsRequest ΒΆ
type GetOrCreateFollowsRequest struct {
Follows []FollowRequest `json:"follows"`
}
type GetOrCreateUnfollowsRequest ΒΆ
type GetOrCreateUnfollowsRequest struct {
Follows []FollowPair `json:"follows"`
DeleteNotificationActivity *bool `json:"delete_notification_activity"`
}
type GetPermissionRequest ΒΆ
type GetPermissionRequest struct {
}
type GetPollOptionRequest ΒΆ
type GetPollOptionRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type GetPollRequest ΒΆ
type GetPollRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type GetPushTemplatesResponse ΒΆ
type GetPushTemplatesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Templates []PushTemplateResponse `json:"templates"`
}
Basic response information
type GetRateLimitsRequest ΒΆ
type GetRateLimitsResponse ΒΆ
type GetRateLimitsResponse struct {
Duration string `json:"duration"`
// Map of endpoint rate limits for the Android platform
Android map[string]LimitInfoResponse `json:"android,omitempty"`
// Map of endpoint rate limits for the iOS platform
Ios map[string]LimitInfoResponse `json:"ios,omitempty"`
// Map of endpoint rate limits for the server-side platform
ServerSide map[string]LimitInfoResponse `json:"server_side,omitempty"`
// Map of endpoint rate limits for the web platform
Web map[string]LimitInfoResponse `json:"web,omitempty"`
}
type GetReactionsRequest ΒΆ
type GetReactionsResponse ΒΆ
type GetReactionsResponse struct {
Duration string `json:"duration"`
// List of reactions
Reactions []ReactionResponse `json:"reactions"`
}
type GetRepliesRequest ΒΆ
type GetRepliesRequest struct {
Limit *int `json:"-" query:"limit"`
IDGte *string `json:"-" query:"id_gte"`
IDGt *string `json:"-" query:"id_gt"`
IDLte *string `json:"-" query:"id_lte"`
IDLt *string `json:"-" query:"id_lt"`
IDAround *string `json:"-" query:"id_around"`
Sort []SortParamRequest `json:"-" query:"sort"`
}
type GetRepliesResponse ΒΆ
type GetRepliesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Messages []MessageResponse `json:"messages"`
}
Basic response information
type GetReviewQueueItemRequest ΒΆ
type GetReviewQueueItemRequest struct {
}
type GetReviewQueueItemResponse ΒΆ
type GetReviewQueueItemResponse struct {
Duration string `json:"duration"`
Item *ReviewQueueItemResponse `json:"item,omitempty"`
}
type GetSegmentRequest ΒΆ
type GetSegmentRequest struct {
}
type GetSegmentResponse ΒΆ
type GetSegmentResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Segment *SegmentResponse `json:"segment,omitempty"`
}
type GetTaskRequest ΒΆ
type GetTaskRequest struct {
}
type GetTaskResponse ΒΆ
type GetTaskResponse struct {
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// Current status of task
Status string `json:"status"`
// ID of task
TaskID string `json:"task_id"`
UpdatedAt Timestamp `json:"updated_at"`
Error *ErrorResult `json:"error,omitempty"`
// Result produced by task after completion
Result map[string]any `json:"result,omitempty"`
}
type GetThreadRequest ΒΆ
type GetThreadResponse ΒΆ
type GetThreadResponse struct {
Duration string `json:"duration"`
Thread ThreadStateResponse `json:"thread"`
}
type GetUserGroupRequest ΒΆ
type GetUserGroupRequest struct {
TeamID *string `json:"-" query:"team_id"`
}
type GetUserGroupResponse ΒΆ
type GetUserGroupResponse struct {
Duration string `json:"duration"`
UserGroup *UserGroupResponse `json:"user_group,omitempty"`
}
Response for getting a user group
type GetUserLiveLocationsRequest ΒΆ
type GetUserLiveLocationsRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type GoLiveRequest ΒΆ
type GoLiveRequest struct {
RecordingStorageName *string `json:"recording_storage_name"`
StartClosedCaption *bool `json:"start_closed_caption"`
StartCompositeRecording *bool `json:"start_composite_recording"`
StartHLS *bool `json:"start_hls"`
StartIndividualRecording *bool `json:"start_individual_recording"`
StartRawRecording *bool `json:"start_raw_recording"`
StartRecording *bool `json:"start_recording"`
StartTranscription *bool `json:"start_transcription"`
TranscriptionStorageName *string `json:"transcription_storage_name"`
}
type GoLiveResponse ΒΆ
type GoLiveResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Call CallResponse `json:"call"`
}
Basic response information
type GoogleVisionConfig ΒΆ
type GoogleVisionConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
type GroupedStatsResponse ΒΆ
type HLSSettings ΒΆ
type HLSSettings struct {
AutoOn bool `json:"auto_on"`
Enabled bool `json:"enabled"`
QualityTracks []string `json:"quality_tracks"`
Layout *LayoutSettings `json:"layout,omitempty"`
}
type HLSSettingsRequest ΒΆ
type HLSSettingsRequest struct {
// Quality tracks for HLS. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560
QualityTracks []string `json:"quality_tracks"`
// Whether HLS broadcasting should start automatically
AutoOn *bool `json:"auto_on,omitempty"`
// Whether HLS broadcasting is enabled
Enabled *bool `json:"enabled,omitempty"`
Layout *LayoutSettingsRequest `json:"layout,omitempty"`
}
type HLSSettingsResponse ΒΆ
type HLSSettingsResponse struct {
AutoOn bool `json:"auto_on"`
Enabled bool `json:"enabled"`
QualityTracks []string `json:"quality_tracks"`
Layout LayoutSettingsResponse `json:"layout"`
}
HLSSettings is the payload for HLS settings
type HarmConfig ΒΆ
type HarmConfig struct {
CooldownPeriod *int `json:"cooldown_period,omitempty"`
Severity *int `json:"severity,omitempty"`
Threshold *int `json:"threshold,omitempty"`
ActionSequences []ActionSequence `json:"action_sequences,omitempty"`
HarmTypes []string `json:"harm_types,omitempty"`
}
type HideChannelRequest ΒΆ
type HideChannelRequest struct {
ClearHistory *bool `json:"clear_history"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type HideChannelResponse ΒΆ
type HideChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type HuaweiConfig ΒΆ
type HuaweiConfigFields ΒΆ
type ImageContentParameters ΒΆ
type ImageContentParameters struct {
HarmLabels []string `json:"harm_labels,omitempty"`
}
type ImageRuleParameters ΒΆ
type ImageSize ΒΆ
type ImageSize struct {
// Crop mode. One of: top, bottom, left, right, center
Crop *string `json:"crop,omitempty"`
// Target image height
Height *int `json:"height,omitempty"`
// Resize method. One of: clip, crop, scale, fill
Resize *string `json:"resize,omitempty"`
// Target image width
Width *int `json:"width,omitempty"`
}
type ImageUploadRequest ΒΆ
type ImageUploadRequest struct {
File *string `json:"file,omitempty"`
// field with JSON-encoded array of image size configurations
UploadSizes []ImageSize `json:"upload_sizes,omitempty"`
User *OnlyUserID `json:"user,omitempty"`
}
type ImageUploadResponse ΒΆ
type Images ΒΆ
type Images struct {
FixedHeight ImageData `json:"fixed_height"`
FixedHeightDownsampled ImageData `json:"fixed_height_downsampled"`
FixedHeightStill ImageData `json:"fixed_height_still"`
FixedWidth ImageData `json:"fixed_width"`
FixedWidthDownsampled ImageData `json:"fixed_width_downsampled"`
FixedWidthStill ImageData `json:"fixed_width_still"`
Original ImageData `json:"original"`
}
type ImportTask ΒΆ
type ImportTaskHistory ΒΆ
type ImportV2TaskItem ΒΆ
type ImportV2TaskSettings ΒΆ
type ImportV2TaskSettings struct {
MergeCustom *bool `json:"merge_custom,omitempty"`
Mode *string `json:"mode,omitempty"`
Path *string `json:"path,omitempty"`
SkipReferencesCheck *bool `json:"skip_references_check,omitempty"`
S3 *ImportV2TaskSettingsS3 `json:"s3,omitempty"`
}
type ImportV2TaskSettingsS3 ΒΆ
type IndividualRecordingResponse ΒΆ
type IndividualRecordingResponse struct {
Status string `json:"status"`
}
type IndividualRecordingSettingsRequest ΒΆ
type IndividualRecordingSettingsRequest struct {
// Recording mode. One of: available, disabled, auto-on
Mode string `json:"mode"`
// Output types to include: audio_only, video_only, audio_video, screenshare_audio_only, screenshare_video_only, screenshare_audio_video
OutputTypes []string `json:"output_types,omitempty"`
}
type IngressErrorEvent ΒΆ
type IngressErrorEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Human-readable error message
Error string `json:"error"`
// Unique identifier for the stream
IngressStreamID string `json:"ingress_stream_id"`
// User who was streaming
UserID string `json:"user_id"`
// The type of event: "ingress.error" in this case
Type string `json:"type"`
// Error code
Code *string `json:"code,omitempty"`
}
This event is sent when a critical error occurs that breaks the streaming pipeline
func (*IngressErrorEvent) GetEventType ΒΆ
func (e *IngressErrorEvent) GetEventType() string
type IngressSettings ΒΆ
type IngressSettings struct {
Enabled bool `json:"enabled"`
AudioEncodingOptions *IngressAudioEncodingOptions `json:"audio_encoding_options,omitempty"`
VideoEncodingOptions map[string]IngressVideoEncodingOptions `json:"video_encoding_options,omitempty"`
}
type IngressSettingsRequest ΒΆ
type IngressSettingsRequest struct {
Enabled *bool `json:"enabled,omitempty"`
AudioEncodingOptions *IngressAudioEncodingOptionsRequest `json:"audio_encoding_options,omitempty"`
VideoEncodingOptions map[string]IngressVideoEncodingOptionsRequest `json:"video_encoding_options,omitempty"`
}
type IngressSettingsResponse ΒΆ
type IngressSettingsResponse struct {
Enabled bool `json:"enabled"`
AudioEncodingOptions *IngressAudioEncodingResponse `json:"audio_encoding_options,omitempty"`
VideoEncodingOptions map[string]IngressVideoEncodingResponse `json:"video_encoding_options,omitempty"`
}
type IngressSource ΒΆ
type IngressSourceRequest ΒΆ
type IngressSourceResponse ΒΆ
type IngressStartedEvent ΒΆ
type IngressStartedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for this stream
IngressStreamID string `json:"ingress_stream_id"`
// Streaming protocol (e.g., 'rtmps', 'srt', 'rtmp', 'rtsp')
PublisherType string `json:"publisher_type"`
// User who started the stream
UserID string `json:"user_id"`
// The type of event: "ingress.started" in this case
Type string `json:"type"`
// Client IP address
ClientIp *string `json:"client_ip,omitempty"`
// Streaming client software name (e.g., 'OBS Studio')
ClientName *string `json:"client_name,omitempty"`
// Client software version
Version *string `json:"version,omitempty"`
}
This event is sent when a user begins streaming into a call
func (*IngressStartedEvent) GetEventType ΒΆ
func (e *IngressStartedEvent) GetEventType() string
type IngressStoppedEvent ΒΆ
type IngressStoppedEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for the stream
IngressStreamID string `json:"ingress_stream_id"`
// User who was streaming
UserID string `json:"user_id"`
// The type of event: "ingress.stopped" in this case
Type string `json:"type"`
}
This event is sent when streaming stops due to user action or call ended
func (*IngressStoppedEvent) GetEventType ΒΆ
func (e *IngressStoppedEvent) GetEventType() string
type IngressVideoEncodingOptions ΒΆ
type IngressVideoEncodingOptions struct {
Layers []IngressVideoLayer `json:"layers"`
Source *IngressSource `json:"source,omitempty"`
}
type IngressVideoEncodingOptionsRequest ΒΆ
type IngressVideoEncodingOptionsRequest struct {
Layers []IngressVideoLayerRequest `json:"layers"`
Source IngressSourceRequest `json:"source"`
}
type IngressVideoEncodingResponse ΒΆ
type IngressVideoEncodingResponse struct {
Layers []IngressVideoLayerResponse `json:"layers"`
Source IngressSourceResponse `json:"source"`
}
type IngressVideoLayer ΒΆ
type JoinCallAPIMetrics ΒΆ
type JoinCallAPIMetrics struct {
Failures float64 `json:"failures"`
Total float64 `json:"total"`
Latency *ActiveCallsLatencyStats `json:"latency,omitempty"`
}
type KeyframeRuleParameters ΒΆ
type KickUserRequest ΒΆ
type KickUserRequest struct {
UserID string `json:"user_id"`
Block *bool `json:"block"`
KickedByID *string `json:"kicked_by_id"`
KickedBy *UserRequest `json:"kicked_by"`
}
type KickUserResponse ΒΆ
type KickUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
KickUserResponse is the payload for kicking a user from a call.
type KickedUserEvent ΒΆ
type KickedUserEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
User UserResponse `json:"user"`
// The type of event: "call.kicked_user" in this case
Type string `json:"type"`
KickedByUser *UserResponse `json:"kicked_by_user,omitempty"`
}
This event is sent to call participants to notify when a user is kicked from a call. Clients should make the kicked user leave the call UI.
func (*KickedUserEvent) GetEventType ΒΆ
func (e *KickedUserEvent) GetEventType() string
type LLMRule ΒΆ
type LLMRule struct {
Description string `json:"description"`
Label string `json:"label"`
Action *string `json:"action,omitempty"`
SeverityRules []BodyguardSeverityRule `json:"severity_rules,omitempty"`
}
type LabelResponse ΒΆ
type LabelThresholds ΒΆ
type LayoutSettings ΒΆ
type LayoutSettingsRequest ΒΆ
type LayoutSettingsResponse ΒΆ
type LimitInfoResponse ΒΆ
type LimitsSettings ΒΆ
type LimitsSettings struct {
MaxParticipantsExcludeRoles []string `json:"max_participants_exclude_roles"`
MaxDurationSeconds *int `json:"max_duration_seconds,omitempty"`
MaxParticipants *int `json:"max_participants,omitempty"`
MaxParticipantsExcludeOwner *bool `json:"max_participants_exclude_owner,omitempty"`
}
type LimitsSettingsRequest ΒΆ
type LimitsSettingsRequest struct {
MaxDurationSeconds *int `json:"max_duration_seconds,omitempty"`
MaxParticipants *int `json:"max_participants,omitempty"`
MaxParticipantsExcludeOwner *bool `json:"max_participants_exclude_owner,omitempty"`
MaxParticipantsExcludeRoles []string `json:"max_participants_exclude_roles,omitempty"`
}
type LimitsSettingsResponse ΒΆ
type LimitsSettingsResponse struct {
MaxParticipantsExcludeRoles []string `json:"max_participants_exclude_roles"`
MaxDurationSeconds *int `json:"max_duration_seconds,omitempty"`
MaxParticipants *int `json:"max_participants,omitempty"`
MaxParticipantsExcludeOwner *bool `json:"max_participants_exclude_owner,omitempty"`
}
type ListBlockListResponse ΒΆ
type ListBlockListResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Blocklists []BlockListResponse `json:"blocklists"`
}
Basic response information
type ListBlockListsRequest ΒΆ
type ListBlockListsRequest struct {
Team *string `json:"-" query:"team"`
}
type ListCallTypeResponse ΒΆ
type ListCallTypeResponse struct {
Duration string `json:"duration"`
CallTypes map[string]CallTypeResponse `json:"call_types"`
}
Response for ListCallType
type ListCallTypesRequest ΒΆ
type ListCallTypesRequest struct {
}
type ListChannelTypesRequest ΒΆ
type ListChannelTypesRequest struct {
}
type ListChannelTypesResponse ΒΆ
type ListChannelTypesResponse struct {
Duration string `json:"duration"`
// Object with all channel types
ChannelTypes map[string]*ChannelTypeConfig `json:"channel_types"`
}
type ListCommandsRequest ΒΆ
type ListCommandsRequest struct {
}
type ListCommandsResponse ΒΆ
type ListDevicesRequest ΒΆ
type ListDevicesRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type ListDevicesResponse ΒΆ
type ListDevicesResponse struct {
Duration string `json:"duration"`
// List of devices
Devices []DeviceResponse `json:"devices"`
}
List devices response
type ListExternalStorageRequest ΒΆ
type ListExternalStorageRequest struct {
}
type ListExternalStorageResponse ΒΆ
type ListExternalStorageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ExternalStorages map[string]ExternalStorageResponse `json:"external_storages"`
}
Basic response information
type ListFeedGroupsRequest ΒΆ
type ListFeedGroupsRequest struct {
IncludeSoftDeleted *bool `json:"-" query:"include_soft_deleted"`
}
type ListFeedGroupsResponse ΒΆ
type ListFeedGroupsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Groups map[string]FeedGroupResponse `json:"groups"`
}
Basic response information
type ListFeedViewsRequest ΒΆ
type ListFeedViewsRequest struct {
}
type ListFeedViewsResponse ΒΆ
type ListFeedViewsResponse struct {
Duration string `json:"duration"`
// Map of feed view ID to feed view
Views map[string]FeedViewResponse `json:"views"`
}
type ListFeedVisibilitiesRequest ΒΆ
type ListFeedVisibilitiesRequest struct {
}
type ListFeedVisibilitiesResponse ΒΆ
type ListFeedVisibilitiesResponse struct {
Duration string `json:"duration"`
// Map of feed visibility configurations by name
FeedVisibilities map[string]FeedVisibilityResponse `json:"feed_visibilities"`
}
type ListImportV2TasksRequest ΒΆ
type ListImportV2TasksRequest struct {
State *int `json:"-" query:"state"`
}
type ListImportV2TasksResponse ΒΆ
type ListImportV2TasksResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ImportTasks []ImportV2TaskItem `json:"import_tasks"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type ListImportsRequest ΒΆ
type ListImportsRequest struct {
}
type ListImportsResponse ΒΆ
type ListImportsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ImportTasks []ImportTask `json:"import_tasks"`
}
Basic response information
type ListPermissionsRequest ΒΆ
type ListPermissionsRequest struct {
}
type ListPermissionsResponse ΒΆ
type ListPermissionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Permissions []Permission `json:"permissions"`
}
Basic response information
type ListPushProvidersRequest ΒΆ
type ListPushProvidersRequest struct {
}
type ListPushProvidersResponse ΒΆ
type ListPushProvidersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
PushProviders []PushProviderResponse `json:"push_providers"`
}
Basic response information
type ListRecordingsRequest ΒΆ
type ListRecordingsRequest struct {
}
type ListRecordingsResponse ΒΆ
type ListRecordingsResponse struct {
Duration string `json:"duration"`
Recordings []CallRecording `json:"recordings"`
}
Response for listing recordings
type ListRolesRequest ΒΆ
type ListRolesRequest struct {
}
type ListRolesResponse ΒΆ
type ListRolesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Roles []Role `json:"roles"`
}
Basic response information
type ListSIPInboundRoutingRuleRequest ΒΆ
type ListSIPInboundRoutingRuleRequest struct {
}
type ListSIPInboundRoutingRuleResponse ΒΆ
type ListSIPInboundRoutingRuleResponse struct {
Duration string `json:"duration"`
// List of SIP Inbound Routing Rules for the application
SipInboundRoutingRules []SIPInboundRoutingRuleResponse `json:"sip_inbound_routing_rules"`
}
Response containing the list of SIP Inbound Routing Rules
type ListSIPTrunksRequest ΒΆ
type ListSIPTrunksRequest struct {
}
type ListSIPTrunksResponse ΒΆ
type ListSIPTrunksResponse struct {
Duration string `json:"duration"`
// List of SIP trunks for the application
SipTrunks []SIPTrunkResponse `json:"sip_trunks"`
}
Response containing the list of SIP trunks
type ListTranscriptionsRequest ΒΆ
type ListTranscriptionsRequest struct {
}
type ListTranscriptionsResponse ΒΆ
type ListTranscriptionsResponse struct {
Duration string `json:"duration"`
// List of transcriptions for the call
Transcriptions []CallTranscription `json:"transcriptions"`
}
type ListUserGroupsRequest ΒΆ
type ListUserGroupsResponse ΒΆ
type ListUserGroupsResponse struct {
Duration string `json:"duration"`
// List of user groups
UserGroups []UserGroupResponse `json:"user_groups"`
}
Response for listing user groups
type LocationResponse ΒΆ
type LocationResponse struct {
// Continent code
ContinentCode string `json:"continent_code"`
// Country ISO code
CountryIsoCode string `json:"country_iso_code"`
// Subdivision ISO code
SubdivisionIsoCode string `json:"subdivision_iso_code"`
}
Geographic location metadata
type Logger ΒΆ
type Logger interface {
Debug(format string, v ...interface{})
Info(format string, v ...interface{})
Warn(format string, v ...interface{})
Error(format string, v ...interface{})
}
Logger is an interface that clients can implement to provide custom logging.
var DefaultLoggerInstance Logger = NewDefaultLogger(os.Stderr, "", log.LstdFlags, LogLevelInfo)
DefaultLoggerInstance is the default logger instance.
type MarkActivityRequest ΒΆ
type MarkChannelsReadRequest ΒΆ
type MarkChannelsReadRequest struct {
UserID *string `json:"user_id"`
ReadByChannel map[string]string `json:"read_by_channel"`
User *UserRequest `json:"user"`
}
type MarkDeliveredRequest ΒΆ
type MarkDeliveredRequest struct {
UserID *string `json:"-" query:"user_id"`
LatestDeliveredMessages []DeliveredMessagePayload `json:"latest_delivered_messages"`
}
type MarkDeliveredResponse ΒΆ
type MarkDeliveredResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type MarkReadRequest ΒΆ
type MarkReadRequest struct {
MessageID *string `json:"message_id"`
ThreadID *string `json:"thread_id"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type MarkReadResponse ΒΆ
type MarkReadResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Event *MarkReadResponseEvent `json:"event,omitempty"`
}
type MarkReadResponseEvent ΒΆ
type MarkReadResponseEvent struct {
ChannelID string `json:"channel_id"`
ChannelType string `json:"channel_type"`
Cid string `json:"cid"`
CreatedAt Timestamp `json:"created_at"`
Type string `json:"type"`
ChannelLastMessageAt *Timestamp `json:"channel_last_message_at,omitempty"`
LastReadMessageID *string `json:"last_read_message_id,omitempty"`
Team *string `json:"team,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Thread *ThreadResponse `json:"thread,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
type MarkReviewedRequestPayload ΒΆ
type MarkReviewedRequestPayload struct {
// Maximum content items to mark as reviewed
ContentToMarkAsReviewedLimit *int `json:"content_to_mark_as_reviewed_limit,omitempty"`
// Reason for the appeal decision
DecisionReason *string `json:"decision_reason,omitempty"`
// Skip marking content as reviewed
DisableMarkingContentAsReviewed *bool `json:"disable_marking_content_as_reviewed,omitempty"`
}
Configuration for mark reviewed action
type MarkUnreadRequest ΒΆ
type MarkUnreadRequest struct {
MessageID *string `json:"message_id"`
MessageTimestamp *Timestamp `json:"message_timestamp"`
ThreadID *string `json:"thread_id"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type MaxStreakChangedEvent ΒΆ
type MaxStreakChangedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
func (*MaxStreakChangedEvent) GetEventType ΒΆ
func (e *MaxStreakChangedEvent) GetEventType() string
type MemberAddedEvent ΒΆ
type MemberAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
Member ChannelMemberResponse `json:"member"`
// The type of event: "member.added" in this case
Type string `json:"type"`
// The ID of the channel to which the member was added
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel to which the member was added
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel to which the member was added
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a member is added to a channel.
func (*MemberAddedEvent) GetEventType ΒΆ
func (e *MemberAddedEvent) GetEventType() string
type MemberRemovedEvent ΒΆ
type MemberRemovedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
Member ChannelMemberResponse `json:"member"`
// The type of event: "member.removed" in this case
Type string `json:"type"`
// The ID of the channel from which the member was removed
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel from which the member was removed
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel from which the member was removed
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a member is removed from a channel.
func (*MemberRemovedEvent) GetEventType ΒΆ
func (e *MemberRemovedEvent) GetEventType() string
type MemberRequest ΒΆ
type MemberRequest struct {
UserID string `json:"user_id"`
Role *string `json:"role,omitempty"`
// Custom data for this object
Custom map[string]any `json:"custom,omitempty"`
}
MemberRequest is the payload for adding a member to a call.
type MemberResponse ΒΆ
type MemberResponse struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
UserID string `json:"user_id"`
// Custom member response data
Custom map[string]any `json:"custom"`
User UserResponse `json:"user"`
// Date/time of deletion
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Role *string `json:"role,omitempty"`
}
MemberResponse is the payload for a member of a call.
type MemberUpdatedEvent ΒΆ
type MemberUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
Member ChannelMemberResponse `json:"member"`
// The type of event: "member.updated" in this case
Type string `json:"type"`
// The ID of the channel in which the member was updated
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel in which the member was updated
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel in which the member was updated
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a member is updated in a channel.
func (*MemberUpdatedEvent) GetEventType ΒΆ
func (e *MemberUpdatedEvent) GetEventType() string
type MembersResponse ΒΆ
type MembersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of found members
Members []ChannelMemberResponse `json:"members"`
}
type MembershipLevelResponse ΒΆ
type MembershipLevelResponse struct {
// When the membership level was created
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for the membership level
ID string `json:"id"`
// Display name for the membership level
Name string `json:"name"`
// Priority level
Priority int `json:"priority"`
// When the membership level was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Activity tags this membership level gives access to
Tags []string `json:"tags"`
// Description of the membership level
Description *string `json:"description,omitempty"`
// Custom data for the membership level
Custom map[string]any `json:"custom,omitempty"`
}
type MessageActionRequest ΒΆ
type MessageActionRequest struct {
// ReadOnlyData to execute command with
FormData map[string]string `json:"form_data"`
UserID *string `json:"user_id,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
type MessageActionResponse ΒΆ
type MessageActionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message *MessageResponse `json:"message,omitempty"`
}
Basic response information
type MessageChangeSet ΒΆ
type MessageChangeSet struct {
Attachments bool `json:"attachments"`
Custom bool `json:"custom"`
Html bool `json:"html"`
MentionedUserIds bool `json:"mentioned_user_ids"`
Mml bool `json:"mml"`
Pin bool `json:"pin"`
QuotedMessageID bool `json:"quoted_message_id"`
Silent bool `json:"silent"`
Text bool `json:"text"`
}
type MessageDeletedEvent ΒΆ
type MessageDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Whether the message was hard deleted
HardDelete bool `json:"hard_delete"`
MessageID string `json:"message_id"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "message.deleted" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
// Whether the message was deleted only for the current user
DeletedForMe *bool `json:"deleted_for_me,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a message is deleted.
func (*MessageDeletedEvent) GetEventType ΒΆ
func (e *MessageDeletedEvent) GetEventType() string
type MessageFlagResponse ΒΆ
type MessageFlagResponse struct {
CreatedAt Timestamp `json:"created_at"`
CreatedByAutomod bool `json:"created_by_automod"`
UpdatedAt Timestamp `json:"updated_at"`
ApprovedAt *Timestamp `json:"approved_at,omitempty"`
Reason *string `json:"reason,omitempty"`
RejectedAt *Timestamp `json:"rejected_at,omitempty"`
ReviewedAt *Timestamp `json:"reviewed_at,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
Details *FlagDetailsResponse `json:"details,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
ModerationFeedback *FlagFeedbackResponse `json:"moderation_feedback,omitempty"`
ModerationResult *MessageModerationResult `json:"moderation_result,omitempty"`
ReviewedBy *UserResponse `json:"reviewed_by,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type MessageFlaggedEvent ΒΆ
type MessageFlaggedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Message MessageResponse `json:"message"`
// The type of event: "message.flagged" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
// The reason for the flag
Reason *string `json:"reason,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
// The total number of flags for the user
TotalFlags *int `json:"total_flags,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
// Custom data
Custom map[string]any `json:"custom,omitempty"`
Details *MessageModerationResult `json:"details,omitempty"`
Flag *FlagResponse `json:"flag,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
This event is sent when a message gets flagged. The event contains information about the message that was flagged.
func (*MessageFlaggedEvent) GetEventType ΒΆ
func (e *MessageFlaggedEvent) GetEventType() string
type MessageHistoryEntryResponse ΒΆ
type MessageHistoryEntryResponse struct {
IsDeleted bool `json:"is_deleted"`
MessageID string `json:"message_id"`
MessageUpdatedAt Timestamp `json:"message_updated_at"`
MessageUpdatedByID string `json:"message_updated_by_id"`
Text string `json:"text"`
Attachments []Attachment `json:"attachments"`
Custom map[string]any `json:"Custom"`
}
type MessageModerationResult ΒΆ
type MessageModerationResult struct {
// Action taken by automod
Action string `json:"action"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// ID of the message
MessageID string `json:"message_id"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Whether user has bad karma
UserBadKarma bool `json:"user_bad_karma"`
// Karma of the user
UserKarma float64 `json:"user_karma"`
// Word that was blocked
BlockedWord *string `json:"blocked_word,omitempty"`
// Name of the blocklist
BlocklistName *string `json:"blocklist_name,omitempty"`
// User who moderated the message
ModeratedBy *string `json:"moderated_by,omitempty"`
AiModerationResponse *ModerationResponse `json:"ai_moderation_response,omitempty"`
ModerationThresholds *Thresholds `json:"moderation_thresholds,omitempty"`
}
Result of the message moderation
type MessageNewEvent ΒΆ
type MessageNewEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
// The number of watchers
WatcherCount int `json:"watcher_count"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "message.new" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
// The author of the parent message
ParentAuthor *string `json:"parent_author,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
TotalUnreadCount *int `json:"total_unread_count,omitempty"`
UnreadChannels *int `json:"unread_channels,omitempty"`
// The number of unread messages
UnreadCount *int `json:"unread_count,omitempty"`
// The participants of the thread
ThreadParticipants []UserResponseCommonFields `json:"thread_participants,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a message was successfully sent or when a message became visible after command execution.
func (*MessageNewEvent) GetEventType ΒΆ
func (e *MessageNewEvent) GetEventType() string
type MessageOptions ΒΆ
type MessageOptions struct {
IncludeThreadParticipants *bool `json:"include_thread_participants,omitempty"`
}
type MessagePaginationParams ΒΆ
type MessagePaginationParams struct {
// The timestamp to get messages with a created_at timestamp greater than
CreatedAtAfter *Timestamp `json:"created_at_after,omitempty"`
// The timestamp to get messages with a created_at timestamp greater than or equal to
CreatedAtAfterOrEqual *Timestamp `json:"created_at_after_or_equal,omitempty"`
// The result will be a set of messages, that are both older and newer than the created_at timestamp provided, distributed evenly around the timestamp
CreatedAtAround *Timestamp `json:"created_at_around,omitempty"`
// The timestamp to get messages with a created_at timestamp smaller than
CreatedAtBefore *Timestamp `json:"created_at_before,omitempty"`
// The timestamp to get messages with a created_at timestamp smaller than or equal to
CreatedAtBeforeOrEqual *Timestamp `json:"created_at_before_or_equal,omitempty"`
// The result will be a set of messages, that are both older and newer than the message with the provided ID, and the message with the ID provided will be in the middle of the set
IDAround *string `json:"id_around,omitempty"`
// The ID of the message to get messages with a timestamp greater than
IDGt *string `json:"id_gt,omitempty"`
// The ID of the message to get messages with a timestamp greater than or equal to
IDGte *string `json:"id_gte,omitempty"`
// The ID of the message to get messages with a timestamp smaller than
IDLt *string `json:"id_lt,omitempty"`
// The ID of the message to get messages with a timestamp smaller than or equal to
IDLte *string `json:"id_lte,omitempty"`
// The maximum number of messages to return (max limit
Limit *int `json:"limit,omitempty"`
}
type MessageReadEvent ΒΆ
type MessageReadEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "message.read" in this case
Type string `json:"type"`
// The ID of the channel where the message was read
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was read
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was read
Cid *string `json:"cid,omitempty"`
// The ID of the last read message
LastReadMessageID *string `json:"last_read_message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Thread *ThreadResponse `json:"thread,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel or thread is marked as read.
func (*MessageReadEvent) GetEventType ΒΆ
func (e *MessageReadEvent) GetEventType() string
type MessageRequest ΒΆ
type MessageRequest struct {
// Contains HTML markup of the message. Can only be set when using server-side API
Html *string `json:"html,omitempty"`
// Message ID is unique string identifier of the message
ID *string `json:"id,omitempty"`
MentionedChannel *bool `json:"mentioned_channel,omitempty"`
MentionedHere *bool `json:"mentioned_here,omitempty"`
// Should be empty if `text` is provided. Can only be set when using server-side API
Mml *string `json:"mml,omitempty"`
// ID of parent message (thread)
ParentID *string `json:"parent_id,omitempty"`
// Date when pinned message expires
PinExpires *Timestamp `json:"pin_expires,omitempty"`
// Whether message is pinned or not
Pinned *bool `json:"pinned,omitempty"`
// Date when message got pinned
PinnedAt *Timestamp `json:"pinned_at,omitempty"`
// Identifier of the poll to include in the message
PollID *string `json:"poll_id,omitempty"`
QuotedMessageID *string `json:"quoted_message_id,omitempty"`
// Whether thread reply should be shown in the channel as well
ShowInChannel *bool `json:"show_in_channel,omitempty"`
// Whether message is silent or not
Silent *bool `json:"silent,omitempty"`
// Text of the message. Should be empty if `mml` is provided
Text *string `json:"text,omitempty"`
UserID *string `json:"user_id,omitempty"`
// Contains type of the message. One of: regular, system
Type *string `json:"type,omitempty"`
// Array of message attachments
Attachments []Attachment `json:"attachments,omitempty"`
MentionedRoles []string `json:"mentioned_roles,omitempty"`
// Array of user IDs to mention
MentionedUsers []string `json:"mentioned_users,omitempty"`
// A list of user ids that have restricted visibility to the message
RestrictedVisibility []string `json:"restricted_visibility,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
Message data for creating or updating a message
type MessageResponse ΒΆ
type MessageResponse struct {
// Channel unique identifier in <type>:<id> format
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
DeletedReplyCount int `json:"deleted_reply_count"`
// Contains HTML markup of the message. Can only be set when using server-side API
Html string `json:"html"`
// Message ID is unique string identifier of the message
ID string `json:"id"`
// Whether the message mentioned the channel tag
MentionedChannel bool `json:"mentioned_channel"`
// Whether the message mentioned online users with @here tag
MentionedHere bool `json:"mentioned_here"`
// Whether message is pinned or not
Pinned bool `json:"pinned"`
// Number of replies to this message
ReplyCount int `json:"reply_count"`
// Whether the message was shadowed or not
Shadowed bool `json:"shadowed"`
// Whether message is silent or not
Silent bool `json:"silent"`
// Text of the message. Should be empty if `mml` is provided
Text string `json:"text"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted
Type string `json:"type"`
// Array of message attachments
Attachments []Attachment `json:"attachments"`
// List of 10 latest reactions to this message
LatestReactions []ReactionResponse `json:"latest_reactions"`
// List of mentioned users
MentionedUsers []UserResponse `json:"mentioned_users"`
// List of 10 latest reactions of authenticated user to this message
OwnReactions []ReactionResponse `json:"own_reactions"`
// A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list
RestrictedVisibility []string `json:"restricted_visibility"`
Custom map[string]any `json:"custom"`
// An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)
ReactionCounts map[string]int `json:"reaction_counts"`
// An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)
ReactionScores map[string]int `json:"reaction_scores"`
User UserResponse `json:"user"`
// Contains provided slash command
Command *string `json:"command,omitempty"`
// Date/time of deletion
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
DeletedForMe *bool `json:"deleted_for_me,omitempty"`
MessageTextUpdatedAt *Timestamp `json:"message_text_updated_at,omitempty"`
// Should be empty if `text` is provided. Can only be set when using server-side API
Mml *string `json:"mml,omitempty"`
// ID of parent message (thread)
ParentID *string `json:"parent_id,omitempty"`
// Date when pinned message expires
PinExpires *Timestamp `json:"pin_expires,omitempty"`
// Date when message got pinned
PinnedAt *Timestamp `json:"pinned_at,omitempty"`
// Identifier of the poll to include in the message
PollID *string `json:"poll_id,omitempty"`
QuotedMessageID *string `json:"quoted_message_id,omitempty"`
// Whether thread reply should be shown in the channel as well
ShowInChannel *bool `json:"show_in_channel,omitempty"`
// List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
MentionedRoles []string `json:"mentioned_roles,omitempty"`
// List of users who participate in thread
ThreadParticipants []UserResponse `json:"thread_participants,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
// Object with translations. Key `language` contains the original language key. Other keys contain translations
I18n map[string]string `json:"i18n,omitempty"`
// Contains image moderation information
ImageLabels map[string][]string `json:"image_labels,omitempty"`
Member *ChannelMemberResponse `json:"member,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
PinnedBy *UserResponse `json:"pinned_by,omitempty"`
Poll *PollResponseData `json:"poll,omitempty"`
QuotedMessage *MessageResponse `json:"quoted_message,omitempty"`
ReactionGroups map[string]*ReactionGroupResponse `json:"reaction_groups,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Represents any chat message
type MessageStatsResponse ΒΆ
type MessageStatsResponse struct {
CountOverTime []CountByMinuteResponse `json:"count_over_time,omitempty"`
}
type MessageUnblockedEvent ΒΆ
type MessageUnblockedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "message.unblocked" in this case
Type string `json:"type"`
// The CID of the channel where the message was unblocked
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a message is unblocked.
func (*MessageUnblockedEvent) GetEventType ΒΆ
func (e *MessageUnblockedEvent) GetEventType() string
type MessageUndeletedEvent ΒΆ
type MessageUndeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "message.undeleted" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
}
Emitted when a message is undeleted.
func (*MessageUndeletedEvent) GetEventType ΒΆ
func (e *MessageUndeletedEvent) GetEventType() string
type MessageUpdate ΒΆ
type MessageUpdate struct {
OldText *string `json:"old_text,omitempty"`
ChangeSet *MessageChangeSet `json:"change_set,omitempty"`
}
type MessageUpdatedEvent ΒΆ
type MessageUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "message.updated" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
MessageUpdate *MessageUpdate `json:"message_update,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a BaseEvent is updated with translation data or when a message is updated.
func (*MessageUpdatedEvent) GetEventType ΒΆ
func (e *MessageUpdatedEvent) GetEventType() string
type MessageWithChannelResponse ΒΆ
type MessageWithChannelResponse struct {
// Channel unique identifier in <type>:<id> format
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
DeletedReplyCount int `json:"deleted_reply_count"`
// Contains HTML markup of the message. Can only be set when using server-side API
Html string `json:"html"`
// Message ID is unique string identifier of the message
ID string `json:"id"`
// Whether the message mentioned the channel tag
MentionedChannel bool `json:"mentioned_channel"`
// Whether the message mentioned online users with @here tag
MentionedHere bool `json:"mentioned_here"`
// Whether message is pinned or not
Pinned bool `json:"pinned"`
// Number of replies to this message
ReplyCount int `json:"reply_count"`
// Whether the message was shadowed or not
Shadowed bool `json:"shadowed"`
// Whether message is silent or not
Silent bool `json:"silent"`
// Text of the message. Should be empty if `mml` is provided
Text string `json:"text"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted
Type string `json:"type"`
// Array of message attachments
Attachments []Attachment `json:"attachments"`
// List of 10 latest reactions to this message
LatestReactions []ReactionResponse `json:"latest_reactions"`
// List of mentioned users
MentionedUsers []UserResponse `json:"mentioned_users"`
// List of 10 latest reactions of authenticated user to this message
OwnReactions []ReactionResponse `json:"own_reactions"`
// A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list
RestrictedVisibility []string `json:"restricted_visibility"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)
ReactionCounts map[string]int `json:"reaction_counts"`
// An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)
ReactionScores map[string]int `json:"reaction_scores"`
User UserResponse `json:"user"`
// Contains provided slash command
Command *string `json:"command,omitempty"`
// Date/time of deletion
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
DeletedForMe *bool `json:"deleted_for_me,omitempty"`
MessageTextUpdatedAt *Timestamp `json:"message_text_updated_at,omitempty"`
// Should be empty if `text` is provided. Can only be set when using server-side API
Mml *string `json:"mml,omitempty"`
// ID of parent message (thread)
ParentID *string `json:"parent_id,omitempty"`
// Date when pinned message expires
PinExpires *Timestamp `json:"pin_expires,omitempty"`
// Date when message got pinned
PinnedAt *Timestamp `json:"pinned_at,omitempty"`
// Identifier of the poll to include in the message
PollID *string `json:"poll_id,omitempty"`
QuotedMessageID *string `json:"quoted_message_id,omitempty"`
// Whether thread reply should be shown in the channel as well
ShowInChannel *bool `json:"show_in_channel,omitempty"`
// List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
MentionedRoles []string `json:"mentioned_roles,omitempty"`
// List of users who participate in thread
ThreadParticipants []UserResponse `json:"thread_participants,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
// Object with translations. Key `language` contains the original language key. Other keys contain translations
I18n map[string]string `json:"i18n,omitempty"`
// Contains image moderation information
ImageLabels map[string][]string `json:"image_labels,omitempty"`
Member *ChannelMemberResponse `json:"member,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
PinnedBy *UserResponse `json:"pinned_by,omitempty"`
Poll *PollResponseData `json:"poll,omitempty"`
QuotedMessage *MessageResponse `json:"quoted_message,omitempty"`
ReactionGroups map[string]*ReactionGroupResponse `json:"reaction_groups,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Represents any chat message
type MetricDescriptor ΒΆ
type MetricStats ΒΆ
type MetricStats struct {
// Aggregated total value
Total int `json:"total"`
// Per-day values (only present in daily mode)
Daily []DailyValue `json:"daily,omitempty"`
}
Statistics for a single metric with optional daily breakdown
type MetricThreshold ΒΆ
type MetricTimeSeries ΒΆ
type MetricTimeSeries struct {
DataPoints [][]float64 `json:"data_points,omitempty"`
}
type ModerationActionConfigResponse ΒΆ
type ModerationActionConfigResponse struct {
// The action to take
Action string `json:"action"`
// Description of what this action does
Description string `json:"description"`
// Type of entity this action applies to
EntityType string `json:"entity_type"`
// Icon for the dashboard
Icon string `json:"icon"`
// Display order (lower numbers shown first)
Order int `json:"order"`
// Custom data for the action
Custom map[string]any `json:"custom,omitempty"`
}
Configuration for a moderation action
type ModerationCheckCompletedEvent ΒΆ
type ModerationCheckCompletedEvent struct {
CreatedAt Timestamp `json:"created_at"`
// The ID of entity which was moderated
EntityID string `json:"entity_id"`
// The type of the entity which was moderated
EntityType string `json:"entity_type"`
// The recommended action
RecommendedAction string `json:"recommended_action"`
// The review queue item ID
ReviewQueueItemID string `json:"review_queue_item_id"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
This event is sent when a moderation check is completed
func (*ModerationCheckCompletedEvent) GetEventType ΒΆ
func (e *ModerationCheckCompletedEvent) GetEventType() string
type ModerationClient ΒΆ
type ModerationClient struct {
// contains filtered or unexported fields
}
func NewModerationClient ΒΆ
func NewModerationClient(client *Client) *ModerationClient
func (*ModerationClient) Appeal ΒΆ
func (c *ModerationClient) Appeal(ctx context.Context, request *AppealRequest) (*StreamResponse[AppealResponse], error)
Appeal against the moderation decision
func (*ModerationClient) Ban ΒΆ
func (c *ModerationClient) Ban(ctx context.Context, request *BanRequest) (*StreamResponse[BanResponse], error)
Ban a user from a channel or the entire app
func (*ModerationClient) BulkImageModeration ΒΆ
func (c *ModerationClient) BulkImageModeration(ctx context.Context, request *BulkImageModerationRequest) (*StreamResponse[BulkImageModerationResponse], error)
Moderate multiple images in bulk using a CSV file
func (*ModerationClient) Check ΒΆ
func (c *ModerationClient) Check(ctx context.Context, request *CheckRequest) (*StreamResponse[CheckResponse], error)
Run moderation checks on the provided content
func (*ModerationClient) CustomCheck ΒΆ
func (c *ModerationClient) CustomCheck(ctx context.Context, request *CustomCheckRequest) (*StreamResponse[CustomCheckResponse], error)
Custom check, add your own AI model reports to the review queue
func (*ModerationClient) DeleteConfig ΒΆ
func (c *ModerationClient) DeleteConfig(ctx context.Context, key string, request *DeleteConfigRequest) (*StreamResponse[DeleteModerationConfigResponse], error)
Delete a specific moderation policy by its name
func (*ModerationClient) DeleteModerationRule ΒΆ
func (c *ModerationClient) DeleteModerationRule(ctx context.Context, request *DeleteModerationRuleRequest) (*StreamResponse[DeleteModerationRuleResponse], error)
Delete an existing moderation rule
func (*ModerationClient) Flag ΒΆ
func (c *ModerationClient) Flag(ctx context.Context, request *FlagRequest) (*StreamResponse[FlagResponse], error)
Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.
func (*ModerationClient) GetAppeal ΒΆ
func (c *ModerationClient) GetAppeal(ctx context.Context, id string, request *GetAppealRequest) (*StreamResponse[GetAppealResponse], error)
Retrieve a specific appeal item by its ID
func (*ModerationClient) GetConfig ΒΆ
func (c *ModerationClient) GetConfig(ctx context.Context, key string, request *GetConfigRequest) (*StreamResponse[GetConfigResponse], error)
Retrieve a specific moderation configuration by its key and team. This configuration contains settings for various moderation features like toxicity detection, AI analysis, and filtering rules.
func (*ModerationClient) GetModerationRule ΒΆ
func (c *ModerationClient) GetModerationRule(ctx context.Context, request *GetModerationRuleRequest) (*StreamResponse[GetModerationRuleResponse], error)
Get a specific moderation rule by ID
func (*ModerationClient) GetReviewQueueItem ΒΆ
func (c *ModerationClient) GetReviewQueueItem(ctx context.Context, id string, request *GetReviewQueueItemRequest) (*StreamResponse[GetReviewQueueItemResponse], error)
Retrieve a specific review queue item by its ID
func (*ModerationClient) Mute ΒΆ
func (c *ModerationClient) Mute(ctx context.Context, request *MuteRequest) (*StreamResponse[MuteResponse], error)
Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.
func (*ModerationClient) QueryAppeals ΒΆ
func (c *ModerationClient) QueryAppeals(ctx context.Context, request *QueryAppealsRequest) (*StreamResponse[QueryAppealsResponse], error)
Query Appeals
func (*ModerationClient) QueryModerationConfigs ΒΆ
func (c *ModerationClient) QueryModerationConfigs(ctx context.Context, request *QueryModerationConfigsRequest) (*StreamResponse[QueryModerationConfigsResponse], error)
Search and filter moderation configurations across your application. This endpoint is designed for building moderation dashboards and managing multiple configuration sets.
func (*ModerationClient) QueryModerationFlags ΒΆ
func (c *ModerationClient) QueryModerationFlags(ctx context.Context, request *QueryModerationFlagsRequest) (*StreamResponse[QueryModerationFlagsResponse], error)
Query flags associated with moderation items. This is used for building a moderation dashboard.
func (*ModerationClient) QueryModerationLogs ΒΆ
func (c *ModerationClient) QueryModerationLogs(ctx context.Context, request *QueryModerationLogsRequest) (*StreamResponse[QueryModerationLogsResponse], error)
Search and filter moderation action logs with support for pagination. View the history of moderation actions taken, including who performed them and when.
func (*ModerationClient) QueryModerationRules ΒΆ
func (c *ModerationClient) QueryModerationRules(ctx context.Context, request *QueryModerationRulesRequest) (*StreamResponse[QueryModerationRulesResponse], error)
Search and filter moderation rules across your application. This endpoint is designed for building moderation dashboards and managing multiple rule sets.
func (*ModerationClient) QueryReviewQueue ΒΆ
func (c *ModerationClient) QueryReviewQueue(ctx context.Context, request *QueryReviewQueueRequest) (*StreamResponse[QueryReviewQueueResponse], error)
Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.
func (*ModerationClient) SubmitAction ΒΆ
func (c *ModerationClient) SubmitAction(ctx context.Context, request *SubmitActionRequest) (*StreamResponse[SubmitActionResponse], error)
Take action on flagged content, such as marking content as safe, deleting content, banning users, or executing custom moderation actions. Supports various action types with configurable parameters.
func (*ModerationClient) Unban ΒΆ
func (c *ModerationClient) Unban(ctx context.Context, request *UnbanRequest) (*StreamResponse[UnbanResponse], error)
Unban a user from a channel or globally.
func (*ModerationClient) Unmute ΒΆ
func (c *ModerationClient) Unmute(ctx context.Context, request *UnmuteRequest) (*StreamResponse[UnmuteResponse], error)
Unmute a user
func (*ModerationClient) UpsertConfig ΒΆ
func (c *ModerationClient) UpsertConfig(ctx context.Context, request *UpsertConfigRequest) (*StreamResponse[UpsertConfigResponse], error)
Create a new moderation configuration or update an existing one. Configure settings for content filtering, AI analysis, toxicity detection, and other moderation features.
func (*ModerationClient) UpsertModerationRule ΒΆ
func (c *ModerationClient) UpsertModerationRule(ctx context.Context, request *UpsertModerationRuleRequest) (*StreamResponse[UpsertModerationRuleResponse], error)
Create or update a moderation rule that can apply app-wide or to specific moderation configs
func (*ModerationClient) V2DeleteTemplate ΒΆ
func (c *ModerationClient) V2DeleteTemplate(ctx context.Context, request *V2DeleteTemplateRequest) (*StreamResponse[DeleteModerationTemplateResponse], error)
Delete a specific moderation template by its name
func (*ModerationClient) V2QueryTemplates ΒΆ
func (c *ModerationClient) V2QueryTemplates(ctx context.Context, request *V2QueryTemplatesRequest) (*StreamResponse[QueryFeedModerationTemplatesResponse], error)
Retrieve a list of feed moderation templates that define preset moderation rules and configurations. Limited to 100 templates per request.
func (*ModerationClient) V2UpsertTemplate ΒΆ
func (c *ModerationClient) V2UpsertTemplate(ctx context.Context, request *V2UpsertTemplateRequest) (*StreamResponse[UpsertModerationTemplateResponse], error)
Upsert feeds template for moderation
type ModerationConfig ΒΆ
type ModerationConfig struct {
Async *bool `json:"async,omitempty"`
CreatedAt *Timestamp `json:"created_at,omitempty"`
Key *string `json:"key,omitempty"`
Team *string `json:"team,omitempty"`
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
SupportedVideoCallHarmTypes []string `json:"supported_video_call_harm_types,omitempty"`
AiImageConfig *AIImageConfig `json:"ai_image_config,omitempty"`
AiImageLiteConfig *BodyguardImageAnalysisConfig `json:"ai_image_lite_config,omitempty"`
AiTextConfig *AITextConfig `json:"ai_text_config,omitempty"`
AiVideoConfig *AIVideoConfig `json:"ai_video_config,omitempty"`
AutomodPlatformCircumventionConfig *AutomodPlatformCircumventionConfig `json:"automod_platform_circumvention_config,omitempty"`
AutomodSemanticFiltersConfig *AutomodSemanticFiltersConfig `json:"automod_semantic_filters_config,omitempty"`
AutomodToxicityConfig *AutomodToxicityConfig `json:"automod_toxicity_config,omitempty"`
BlockListConfig *BlockListConfig `json:"block_list_config,omitempty"`
GoogleVisionConfig *GoogleVisionConfig `json:"google_vision_config,omitempty"`
LlmConfig *LLMConfig `json:"llm_config,omitempty"`
VelocityFilterConfig *VelocityFilterConfig `json:"velocity_filter_config,omitempty"`
VideoCallRuleConfig *VideoCallRuleConfig `json:"video_call_rule_config,omitempty"`
}
type ModerationCustomActionEvent ΒΆ
type ModerationCustomActionEvent struct {
// The ID of the custom action that was executed
ActionID string `json:"action_id"`
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
ReviewQueueItem ReviewQueueItemResponse `json:"review_queue_item"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Additional options passed to the custom action
ActionOptions map[string]any `json:"action_options,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
}
This event is sent when a custom moderation action is executed
func (*ModerationCustomActionEvent) GetEventType ΒΆ
func (e *ModerationCustomActionEvent) GetEventType() string
type ModerationDashboardPreferences ΒΆ
type ModerationDashboardPreferences struct {
AsyncReviewQueueUpsert *bool `json:"async_review_queue_upsert,omitempty"`
DisableAuditLogs *bool `json:"disable_audit_logs,omitempty"`
DisableFlaggingReviewedEntity *bool `json:"disable_flagging_reviewed_entity,omitempty"`
FlagUserOnFlaggedContent *bool `json:"flag_user_on_flagged_content,omitempty"`
MediaQueueBlurEnabled *bool `json:"media_queue_blur_enabled,omitempty"`
AllowedModerationActionReasons []string `json:"allowed_moderation_action_reasons,omitempty"`
OverviewDashboard *OverviewDashboardConfig `json:"overview_dashboard,omitempty"`
}
type ModerationFlagResponse ΒΆ
type ModerationFlagResponse struct {
CreatedAt Timestamp `json:"created_at"`
EntityID string `json:"entity_id"`
EntityType string `json:"entity_type"`
UpdatedAt Timestamp `json:"updated_at"`
UserID string `json:"user_id"`
Type string `json:"type"`
Result []map[string]any `json:"result"`
EntityCreatorID *string `json:"entity_creator_id,omitempty"`
Reason *string `json:"reason,omitempty"`
ReviewQueueItemID *string `json:"review_queue_item_id,omitempty"`
Labels []string `json:"labels,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
ModerationPayload *ModerationPayloadResponse `json:"moderation_payload,omitempty"`
ReviewQueueItem *ReviewQueueItemResponse `json:"review_queue_item,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ModerationFlaggedEvent ΒΆ
type ModerationFlaggedEvent struct {
// The type of content that was flagged
ContentType string `json:"content_type"`
CreatedAt Timestamp `json:"created_at"`
// The ID of the flagged content
ObjectID string `json:"object_id"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
This event is sent when content is flagged for moderation
func (*ModerationFlaggedEvent) GetEventType ΒΆ
func (e *ModerationFlaggedEvent) GetEventType() string
type ModerationMarkReviewedEvent ΒΆ
type ModerationMarkReviewedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Item ReviewQueueItemResponse `json:"item"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
}
This event is sent when a moderation item is marked as reviewed
func (*ModerationMarkReviewedEvent) GetEventType ΒΆ
func (e *ModerationMarkReviewedEvent) GetEventType() string
type ModerationPayload ΒΆ
type ModerationPayloadRequest ΒΆ
type ModerationPayloadRequest struct {
// Image URLs to moderate (max 30)
Images []string `json:"images,omitempty"`
// Text content to moderate
Texts []string `json:"texts,omitempty"`
// Video URLs to moderate
Videos []string `json:"videos,omitempty"`
// Custom data for moderation
Custom map[string]any `json:"custom,omitempty"`
}
Content payload for moderation
type ModerationPayloadResponse ΒΆ
type ModerationPayloadResponse struct {
// Image URLs to moderate
Images []string `json:"images,omitempty"`
// Text content to moderate
Texts []string `json:"texts,omitempty"`
// Video URLs to moderate
Videos []string `json:"videos,omitempty"`
// Custom data for moderation
Custom map[string]any `json:"custom,omitempty"`
}
Content payload for moderation
type ModerationResponse ΒΆ
type ModerationRuleInfo ΒΆ
type ModerationRuleV2Response ΒΆ
type ModerationRuleV2Response struct {
CreatedAt Timestamp `json:"created_at"`
Description string `json:"description"`
Enabled bool `json:"enabled"`
ID string `json:"id"`
Name string `json:"name"`
RuleType string `json:"rule_type"`
Team string `json:"team"`
UpdatedAt Timestamp `json:"updated_at"`
ConfigKeys []string `json:"config_keys"`
CooldownPeriod *string `json:"cooldown_period,omitempty"`
Logic *string `json:"logic,omitempty"`
ActionSequences []CallRuleActionSequence `json:"action_sequences,omitempty"`
Conditions []RuleBuilderCondition `json:"conditions,omitempty"`
Groups []RuleBuilderConditionGroup `json:"groups,omitempty"`
Action *RuleBuilderAction `json:"action,omitempty"`
}
type ModerationRulesTriggeredEvent ΒΆ
type ModerationRulesTriggeredEvent struct {
CreatedAt Timestamp `json:"created_at"`
// The ID of the entity that triggered the rule
EntityID string `json:"entity_id"`
// The type of the entity (call, user, message, etc.)
EntityType string `json:"entity_type"`
// The ID of the user who triggered the rule
UserID string `json:"user_id"`
// Array of action types that were triggered
TriggeredActions []string `json:"triggered_actions"`
Custom map[string]any `json:"custom"`
Rule ModerationRuleInfo `json:"rule"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The review queue item ID if applicable
ReviewQueueItemID *string `json:"review_queue_item_id,omitempty"`
// The violation number for call rules (optional)
ViolationNumber *int `json:"violation_number,omitempty"`
}
This event is sent automatically whenever a rule builder rule is triggered
func (*ModerationRulesTriggeredEvent) GetEventType ΒΆ
func (e *ModerationRulesTriggeredEvent) GetEventType() string
type ModerationV2Response ΒΆ
type ModerationV2Response struct {
Action string `json:"action"`
OriginalText string `json:"original_text"`
BlocklistMatched *string `json:"blocklist_matched,omitempty"`
PlatformCircumvented *bool `json:"platform_circumvented,omitempty"`
SemanticFilterMatched *string `json:"semantic_filter_matched,omitempty"`
BlocklistsMatched []string `json:"blocklists_matched,omitempty"`
ImageHarms []string `json:"image_harms,omitempty"`
TextHarms []string `json:"text_harms,omitempty"`
}
type MuteChannelRequest ΒΆ
type MuteChannelRequest struct {
Expiration *int `json:"expiration"`
UserID *string `json:"user_id"`
ChannelCids []string `json:"channel_cids"`
User *UserRequest `json:"user"`
}
type MuteChannelResponse ΒΆ
type MuteChannelResponse struct {
Duration string `json:"duration"`
// Object with mutes (if multiple channels were muted)
ChannelMutes []ChannelMute `json:"channel_mutes,omitempty"`
ChannelMute *ChannelMute `json:"channel_mute,omitempty"`
OwnUser *OwnUserResponse `json:"own_user,omitempty"`
}
type MuteRequest ΒΆ
type MuteRequest struct {
TargetIds []string `json:"target_ids"`
Timeout *int `json:"timeout"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type MuteResponse ΒΆ
type MuteResponse struct {
Duration string `json:"duration"`
// Object with mutes (if multiple users were muted)
Mutes []UserMuteResponse `json:"mutes,omitempty"`
// A list of users that can't be found. Common cause for this is deleted users
NonExistingUsers []string `json:"non_existing_users,omitempty"`
OwnUser *OwnUserResponse `json:"own_user,omitempty"`
}
type MuteUsersRequest ΒΆ
type MuteUsersResponse ΒΆ
type MuteUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
MuteUsersResponse is the response payload for the mute users endpoint.
type NetworkMetricsReportResponse ΒΆ
type NetworkMetricsReportResponse struct {
AverageConnectionTime *float64 `json:"average_connection_time,omitempty"`
AverageJitter *float64 `json:"average_jitter,omitempty"`
AverageLatency *float64 `json:"average_latency,omitempty"`
AverageTimeToReconnect *float64 `json:"average_time_to_reconnect,omitempty"`
}
type NoiseCancellationSettings ΒΆ
type NoiseCancellationSettings struct {
Mode string `json:"mode"`
}
type NotificationComment ΒΆ
type NotificationComment struct {
Comment string `json:"comment"`
ID string `json:"id"`
UserID string `json:"user_id"`
Attachments []Attachment `json:"attachments,omitempty"`
}
type NotificationConfig ΒΆ
type NotificationConfig struct {
// Time window for deduplicating notification activities (reactions and follows). Empty or '0' = always deduplicate (default). Examples: '1h', '24h', '7d', '1w'
DeduplicationWindow *string `json:"deduplication_window,omitempty"`
// Whether to track read status
TrackRead *bool `json:"track_read,omitempty"`
// Whether to track seen status
TrackSeen *bool `json:"track_seen,omitempty"`
}
type NotificationContext ΒΆ
type NotificationContext struct {
Target *NotificationTarget `json:"target,omitempty"`
Trigger *NotificationTrigger `json:"trigger,omitempty"`
}
type NotificationFeedUpdatedEvent ΒΆ
type NotificationFeedUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the feed
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.notification_feed.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Aggregated activities for notification feeds
AggregatedActivities []AggregatedActivityResponse `json:"aggregated_activities,omitempty"`
NotificationStatus *NotificationStatusResponse `json:"notification_status,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when notification feed is updated.
func (*NotificationFeedUpdatedEvent) GetEventType ΒΆ
func (e *NotificationFeedUpdatedEvent) GetEventType() string
type NotificationMarkUnreadEvent ΒΆ
type NotificationMarkUnreadEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "notification.mark_unread" in this case
Type string `json:"type"`
// The ID of the channel which was marked as unread
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel which was marked as unread
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel which was marked as unread
Cid *string `json:"cid,omitempty"`
// The ID of the first unread message
FirstUnreadMessageID *string `json:"first_unread_message_id,omitempty"`
// The time when the channel/thread was marked as unread
LastReadAt *Timestamp `json:"last_read_at,omitempty"`
// The ID of the last read message
LastReadMessageID *string `json:"last_read_message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
// The ID of the thread which was marked as unread
ThreadID *string `json:"thread_id,omitempty"`
// The total number of unread messages
TotalUnreadCount *int `json:"total_unread_count,omitempty"`
// The number of channels with unread messages
UnreadChannels *int `json:"unread_channels,omitempty"`
// The total number of unread messages
UnreadCount *int `json:"unread_count,omitempty"`
// The number of unread messages in the channel/thread after first_unread_message_id
UnreadMessages *int `json:"unread_messages,omitempty"`
// The total number of unread messages in the threads
UnreadThreadMessages *int `json:"unread_thread_messages,omitempty"`
// The number of unread threads
UnreadThreads *int `json:"unread_threads,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a channel/thread is marked as unread.
func (*NotificationMarkUnreadEvent) GetEventType ΒΆ
func (e *NotificationMarkUnreadEvent) GetEventType() string
type NotificationParentActivity ΒΆ
type NotificationParentActivity struct {
ID string `json:"id"`
Text *string `json:"text,omitempty"`
UserID *string `json:"user_id,omitempty"`
Type *string `json:"type,omitempty"`
Attachments []Attachment `json:"attachments,omitempty"`
}
type NotificationSettings ΒΆ
type NotificationSettings struct {
Enabled bool `json:"enabled"`
CallLiveStarted EventNotificationSettings `json:"call_live_started"`
CallMissed EventNotificationSettings `json:"call_missed"`
CallNotification EventNotificationSettings `json:"call_notification"`
CallRing EventNotificationSettings `json:"call_ring"`
SessionStarted EventNotificationSettings `json:"session_started"`
}
type NotificationSettingsRequest ΒΆ
type NotificationSettingsRequest struct {
Enabled *bool `json:"enabled,omitempty"`
CallLiveStarted *EventNotificationSettingsRequest `json:"call_live_started,omitempty"`
CallMissed *EventNotificationSettingsRequest `json:"call_missed,omitempty"`
CallNotification *EventNotificationSettingsRequest `json:"call_notification,omitempty"`
CallRing *EventNotificationSettingsRequest `json:"call_ring,omitempty"`
SessionStarted *EventNotificationSettingsRequest `json:"session_started,omitempty"`
}
type NotificationSettingsResponse ΒΆ
type NotificationSettingsResponse struct {
Enabled bool `json:"enabled"`
CallLiveStarted EventNotificationSettingsResponse `json:"call_live_started"`
CallMissed EventNotificationSettingsResponse `json:"call_missed"`
CallNotification EventNotificationSettingsResponse `json:"call_notification"`
CallRing EventNotificationSettingsResponse `json:"call_ring"`
SessionStarted EventNotificationSettingsResponse `json:"session_started"`
}
type NotificationStatusResponse ΒΆ
type NotificationStatusResponse struct {
// Number of unread notifications
Unread int `json:"unread"`
// Number of unseen notifications
Unseen int `json:"unseen"`
LastReadAt *Timestamp `json:"last_read_at,omitempty"`
// When notifications were last seen
LastSeenAt *Timestamp `json:"last_seen_at,omitempty"`
// IDs of activities that have been read
ReadActivities []string `json:"read_activities,omitempty"`
SeenActivities []string `json:"seen_activities,omitempty"`
}
type NotificationTarget ΒΆ
type NotificationTarget struct {
// The ID of the target (activity ID or user ID)
ID string `json:"id"`
// The name of the target user (for user targets like follows)
Name *string `json:"name,omitempty"`
// The text content of the target activity (for activity targets)
Text *string `json:"text,omitempty"`
// The ID of the user who created the target activity (for activity targets)
UserID *string `json:"user_id,omitempty"`
// The type of the target activity (for activity targets)
Type *string `json:"type,omitempty"`
// Attachments on the target activity (for activity targets)
Attachments []Attachment `json:"attachments,omitempty"`
Comment *NotificationComment `json:"comment,omitempty"`
ParentActivity *NotificationParentActivity `json:"parent_activity,omitempty"`
}
type NotificationThreadMessageNewEvent ΒΆ
type NotificationThreadMessageNewEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
// The ID of the thread
ThreadID string `json:"thread_id"`
// The number of watchers
WatcherCount int `json:"watcher_count"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "notification.message_new" in this case
Type string `json:"type"`
// The ID of the channel where the message was sent
ChannelID *string `json:"channel_id,omitempty"`
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the message was sent
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the message was sent
Cid *string `json:"cid,omitempty"`
ParentAuthor *string `json:"parent_author,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
UnreadThreadMessages *int `json:"unread_thread_messages,omitempty"`
UnreadThreads *int `json:"unread_threads,omitempty"`
// The participants of the thread
ThreadParticipants []UserResponseCommonFields `json:"thread_participants,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
}
Emitted when a new message was sent to a thread.
func (*NotificationThreadMessageNewEvent) GetEventType ΒΆ
func (e *NotificationThreadMessageNewEvent) GetEventType() string
type NotificationTrigger ΒΆ
type NotificationTrigger struct {
// Human-readable text describing the notification
Text string `json:"text"`
// The type of notification (mention, reaction, comment, follow, etc.)
Type string `json:"type"`
Comment *NotificationComment `json:"comment,omitempty"`
}
type OnlyUserID ΒΆ
type OnlyUserID struct {
ID string `json:"id"`
}
type OwnBatchRequest ΒΆ
type OwnBatchRequest struct {
Feeds []string `json:"feeds"`
UserID *string `json:"user_id"`
Fields []string `json:"fields"`
User *UserRequest `json:"user"`
}
type OwnBatchResponse ΒΆ
type OwnBatchResponse struct {
Duration string `json:"duration"`
// Map of feed ID to own fields data
Data map[string]FeedOwnData `json:"data"`
}
type OwnCapability ΒΆ
type OwnCapability string
const ( BLOCK_USERS OwnCapability = "block-users" CHANGE_MAX_DURATION OwnCapability = "change-max-duration" CREATE_CALL OwnCapability = "create-call" CREATE_REACTION OwnCapability = "create-reaction" ENABLE_NOISE_CANCELLATION OwnCapability = "enable-noise-cancellation" END_CALL OwnCapability = "end-call" JOIN_BACKSTAGE OwnCapability = "join-backstage" JOIN_CALL OwnCapability = "join-call" JOIN_ENDED_CALL OwnCapability = "join-ended-call" KICK_USER OwnCapability = "kick-user" MUTE_USERS OwnCapability = "mute-users" PIN_FOR_EVERYONE OwnCapability = "pin-for-everyone" READ_CALL OwnCapability = "read-call" REMOVE_CALL_MEMBER OwnCapability = "remove-call-member" SCREENSHARE OwnCapability = "screenshare" SEND_AUDIO OwnCapability = "send-audio" SEND_CLOSED_CAPTIONS_CALL OwnCapability = "send-closed-captions-call" SEND_VIDEO OwnCapability = "send-video" START_BROADCAST_CALL OwnCapability = "start-broadcast-call" START_CLOSED_CAPTIONS_CALL OwnCapability = "start-closed-captions-call" START_FRAME_RECORD_CALL OwnCapability = "start-frame-record-call" START_INDIVIDUAL_RECORD_CALL OwnCapability = "start-individual-record-call" START_RAW_RECORD_CALL OwnCapability = "start-raw-record-call" START_RECORD_CALL OwnCapability = "start-record-call" START_TRANSCRIPTION_CALL OwnCapability = "start-transcription-call" STOP_BROADCAST_CALL OwnCapability = "stop-broadcast-call" STOP_CLOSED_CAPTIONS_CALL OwnCapability = "stop-closed-captions-call" STOP_FRAME_RECORD_CALL OwnCapability = "stop-frame-record-call" STOP_INDIVIDUAL_RECORD_CALL OwnCapability = "stop-individual-record-call" STOP_RAW_RECORD_CALL OwnCapability = "stop-raw-record-call" STOP_RECORD_CALL OwnCapability = "stop-record-call" STOP_TRANSCRIPTION_CALL OwnCapability = "stop-transcription-call" UPDATE_CALL OwnCapability = "update-call" UPDATE_CALL_MEMBER OwnCapability = "update-call-member" UPDATE_CALL_PERMISSIONS OwnCapability = "update-call-permissions" UPDATE_CALL_SETTINGS OwnCapability = "update-call-settings" )
func (OwnCapability) String ΒΆ
func (c OwnCapability) String() string
type OwnUserResponse ΒΆ
type OwnUserResponse struct {
Banned bool `json:"banned"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Invisible bool `json:"invisible"`
Language string `json:"language"`
Online bool `json:"online"`
Role string `json:"role"`
TotalUnreadCount int `json:"total_unread_count"`
UnreadChannels int `json:"unread_channels"`
UnreadCount int `json:"unread_count"`
UnreadThreads int `json:"unread_threads"`
UpdatedAt Timestamp `json:"updated_at"`
ChannelMutes []ChannelMute `json:"channel_mutes"`
Devices []DeviceResponse `json:"devices"`
Mutes []UserMuteResponse `json:"mutes"`
Teams []string `json:"teams"`
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
LastActive *Timestamp `json:"last_active,omitempty"`
Name *string `json:"name,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
BlockedUserIds []string `json:"blocked_user_ids,omitempty"`
LatestHiddenChannels []string `json:"latest_hidden_channels,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
PushPreferences *PushPreferencesResponse `json:"push_preferences,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
TotalUnreadCountByTeam map[string]int `json:"total_unread_count_by_team,omitempty"`
}
type PagerRequest ΒΆ
type PagerResponse ΒΆ
type PaginationParams ΒΆ
type ParsedPredefinedFilterResponse ΒΆ
type ParsedPredefinedFilterResponse struct {
Name string `json:"name"`
Filter map[string]any `json:"filter"`
Sort []SortParamRequest `json:"sort,omitempty"`
}
type ParticipantCountOverTimeResponse ΒΆ
type ParticipantCountOverTimeResponse struct {
ByMinute []ParticipantCountByMinuteResponse `json:"by_minute,omitempty"`
}
type ParticipantReportResponse ΒΆ
type ParticipantReportResponse struct {
Sum int `json:"sum"`
Unique int `json:"unique"`
MaxConcurrent *int `json:"max_concurrent,omitempty"`
ByBrowser []GroupedStatsResponse `json:"by_browser,omitempty"`
ByCountry []GroupedStatsResponse `json:"by_country,omitempty"`
ByDevice []GroupedStatsResponse `json:"by_device,omitempty"`
ByOperatingSystem []GroupedStatsResponse `json:"by_operating_system,omitempty"`
CountOverTime *ParticipantCountOverTimeResponse `json:"count_over_time,omitempty"`
Publishers *PublisherStatsResponse `json:"publishers,omitempty"`
Subscribers *SubscriberStatsResponse `json:"subscribers,omitempty"`
}
type ParticipantSeriesPublisherStats ΒΆ
type ParticipantSeriesPublisherStats struct {
GlobalMetricsOrder []string `json:"global_metrics_order,omitempty"`
Global map[string][][]float64 `json:"global,omitempty"`
GlobalMeta map[string]MetricDescriptor `json:"global_meta,omitempty"`
GlobalThresholds map[string][]MetricThreshold `json:"global_thresholds,omitempty"`
Tracks map[string][]ParticipantSeriesTrackMetrics `json:"tracks,omitempty"`
}
type ParticipantSeriesSubscriberStats ΒΆ
type ParticipantSeriesSubscriberStats struct {
GlobalMetricsOrder []string `json:"global_metrics_order,omitempty"`
Subscriptions []ParticipantSeriesSubscriptionTrackMetrics `json:"subscriptions,omitempty"`
Global map[string][][]float64 `json:"global,omitempty"`
GlobalMeta map[string]MetricDescriptor `json:"global_meta,omitempty"`
GlobalThresholds map[string][]MetricThreshold `json:"global_thresholds,omitempty"`
}
type ParticipantSeriesSubscriptionTrackMetrics ΒΆ
type ParticipantSeriesSubscriptionTrackMetrics struct {
PublisherUserID string `json:"publisher_user_id"`
PublisherName *string `json:"publisher_name,omitempty"`
PublisherUserSessionID *string `json:"publisher_user_session_id,omitempty"`
Tracks map[string][]ParticipantSeriesTrackMetrics `json:"tracks,omitempty"`
}
type ParticipantSeriesTrackMetrics ΒΆ
type ParticipantSeriesTrackMetrics struct {
TrackID string `json:"track_id"`
Codec *string `json:"codec,omitempty"`
Label *string `json:"label,omitempty"`
Rid *string `json:"rid,omitempty"`
TrackType *string `json:"track_type,omitempty"`
MetricsOrder []string `json:"metrics_order,omitempty"`
Metrics map[string][][]float64 `json:"metrics,omitempty"`
MetricsMeta map[string]MetricDescriptor `json:"metrics_meta,omitempty"`
Thresholds map[string][]MetricThreshold `json:"thresholds,omitempty"`
}
type ParticipantSeriesUserStats ΒΆ
type ParticipantSeriesUserStats struct {
MetricsOrder []string `json:"metrics_order,omitempty"`
Metrics map[string][][]float64 `json:"metrics,omitempty"`
MetricsMeta map[string]MetricDescriptor `json:"metrics_meta,omitempty"`
Thresholds map[string][]MetricThreshold `json:"thresholds,omitempty"`
}
type ParticipantSessionDetails ΒΆ
type ParticipantSessionDetails struct {
PublisherType string `json:"publisher_type"`
UserID string `json:"user_id"`
UserSessionID string `json:"user_session_id"`
Roles []string `json:"roles"`
DurationInSeconds *int `json:"duration_in_seconds,omitempty"`
JoinedAt *Timestamp `json:"joined_at,omitempty"`
LeftAt *Timestamp `json:"left_at,omitempty"`
}
type PendingMessageEvent ΒΆ
type PendingMessageEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The method used for the pending message
Method string `json:"method"`
Custom map[string]any `json:"custom"`
// The type of event: "message.pending" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
// Metadata attached to the pending message
Metadata map[string]string `json:"metadata,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
Pending message event for async moderation
func (*PendingMessageEvent) GetEventType ΒΆ
func (e *PendingMessageEvent) GetEventType() string
type PendingMessageResponse ΒΆ
type PendingMessageResponse struct {
Channel *ChannelResponse `json:"channel,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type PerSDKUsageReport ΒΆ
type Permission ΒΆ
type Permission struct {
// Action name this permission is for (e.g. SendMessage)
Action string `json:"action"`
// Whether this is a custom permission or built-in
Custom bool `json:"custom"`
// Description of the permission
Description string `json:"description"`
// Unique permission ID
ID string `json:"id"`
// Level at which permission could be applied (app or channel). One of: app, channel
Level string `json:"level"`
// Name of the permission
Name string `json:"name"`
// Whether this permission applies to resource owner or not
Owner bool `json:"owner"`
// Whether this permission applies to teammates (multi-tenancy mode only)
SameTeam bool `json:"same_team"`
// List of tags of the permission
Tags []string `json:"tags"`
// MongoDB style condition which decides whether or not the permission is granted
Condition map[string]any `json:"condition,omitempty"`
}
type PermissionRequestEvent ΒΆ
type PermissionRequestEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The list of permissions requested by the user
Permissions []string `json:"permissions"`
User UserResponse `json:"user"`
// The type of event: "call.permission_request" in this case
Type string `json:"type"`
}
This event is sent when a user requests access to a feature on a call, clients receiving this event should display a permission request to the user
func (*PermissionRequestEvent) GetEventType ΒΆ
func (e *PermissionRequestEvent) GetEventType() string
type PinActivityRequest ΒΆ
type PinActivityRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type PinActivityResponse ΒΆ
type PinActivityResponse struct {
// When the activity was pinned
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// Fully qualified ID of the feed the activity was pinned to
Feed string `json:"feed"`
// ID of the user who pinned the activity
UserID string `json:"user_id"`
Activity ActivityResponse `json:"activity"`
}
type PinRequest ΒΆ
type PinRequest struct {
// the session ID of the user who pinned the message
SessionID string `json:"session_id"`
// the user ID of the user who pinned the message
UserID string `json:"user_id"`
}
PinRequest is the payload for pinning a message.
type PinResponse ΒΆ
type PinResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type PlatformDataResponse ΒΆ
type PlatformDataResponse struct {
Browser BrowserDataResponse `json:"browser"`
Device DeviceDataResponse `json:"device"`
Os ClientOSDataResponse `json:"os"`
}
type PolicyRequest ΒΆ
type PolicyRequest struct {
Action string `json:"action"`
// User-friendly policy name
Name string `json:"name"`
// Whether policy applies to resource owner or not
Owner bool `json:"owner"`
// Policy priority
Priority int `json:"priority"`
// List of resources to apply policy to
Resources []string `json:"resources"`
// List of roles to apply policy to
Roles []string `json:"roles"`
}
Policy request
type PollOptionInput ΒΆ
type PollOptionRequest ΒΆ
type PollOptionResponse ΒΆ
type PollOptionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
PollOption PollOptionResponseData `json:"poll_option"`
}
type PollOptionResponseData ΒΆ
type PollResponse ΒΆ
type PollResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Poll PollResponseData `json:"poll"`
}
type PollResponseData ΒΆ
type PollResponseData struct {
AllowAnswers bool `json:"allow_answers"`
AllowUserSuggestedOptions bool `json:"allow_user_suggested_options"`
AnswersCount int `json:"answers_count"`
CreatedAt Timestamp `json:"created_at"`
CreatedByID string `json:"created_by_id"`
Description string `json:"description"`
EnforceUniqueVote bool `json:"enforce_unique_vote"`
ID string `json:"id"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
VoteCount int `json:"vote_count"`
VotingVisibility string `json:"voting_visibility"`
LatestAnswers []PollVoteResponseData `json:"latest_answers"`
Options []PollOptionResponseData `json:"options"`
OwnVotes []PollVoteResponseData `json:"own_votes"`
Custom map[string]any `json:"custom"`
LatestVotesByOption map[string][]PollVoteResponseData `json:"latest_votes_by_option"`
VoteCountsByOption map[string]int `json:"vote_counts_by_option"`
IsClosed *bool `json:"is_closed,omitempty"`
MaxVotesAllowed *int `json:"max_votes_allowed,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
}
type PollVoteResponse ΒΆ
type PollVoteResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Poll *PollResponseData `json:"poll,omitempty"`
Vote *PollVoteResponseData `json:"vote,omitempty"`
}
type PollVoteResponseData ΒΆ
type PollVoteResponseData struct {
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
OptionID string `json:"option_id"`
PollID string `json:"poll_id"`
UpdatedAt Timestamp `json:"updated_at"`
AnswerText *string `json:"answer_text,omitempty"`
IsAnswer *bool `json:"is_answer,omitempty"`
UserID *string `json:"user_id,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type PollVotesResponse ΒΆ
type PollVotesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Poll votes
Votes []PollVoteResponseData `json:"votes"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type PrivacySettingsResponse ΒΆ
type PrivacySettingsResponse struct {
DeliveryReceipts *DeliveryReceiptsResponse `json:"delivery_receipts,omitempty"`
ReadReceipts *ReadReceiptsResponse `json:"read_receipts,omitempty"`
TypingIndicators *TypingIndicatorsResponse `json:"typing_indicators,omitempty"`
}
type PublishedTrackFlags ΒΆ
type PublishedTrackMetrics ΒΆ
type PublishedTrackMetrics struct {
Codec *string `json:"codec,omitempty"`
TrackID *string `json:"track_id,omitempty"`
TrackType *string `json:"track_type,omitempty"`
Warnings []SessionWarningResponse `json:"warnings,omitempty"`
Bitrate *MetricTimeSeries `json:"bitrate,omitempty"`
Framerate *MetricTimeSeries `json:"framerate,omitempty"`
Resolution *ResolutionMetricsTimeSeries `json:"resolution,omitempty"`
}
type PublisherAllMetrics ΒΆ
type PublisherAllMetrics struct {
Audio *PublisherAudioMetrics `json:"audio,omitempty"`
RttMs *ActiveCallsLatencyStats `json:"rtt_ms,omitempty"`
Video *PublisherVideoMetrics `json:"video,omitempty"`
}
type PublisherAudioMetrics ΒΆ
type PublisherAudioMetrics struct {
JitterMs *ActiveCallsLatencyStats `json:"jitter_ms,omitempty"`
}
type PublisherStatsResponse ΒΆ
type PublisherStatsResponse struct {
Total int `json:"total"`
Unique int `json:"unique"`
ByTrack []TrackStatsResponse `json:"by_track,omitempty"`
}
type PublisherVideoMetrics ΒΆ
type PublisherVideoMetrics struct {
Bitrate *ActiveCallsBitrateStats `json:"bitrate,omitempty"`
Fps30 *ActiveCallsFPSStats `json:"fps_30,omitempty"`
FrameEncodingTimeMs *ActiveCallsLatencyStats `json:"frame_encoding_time_ms,omitempty"`
JitterMs *ActiveCallsLatencyStats `json:"jitter_ms,omitempty"`
Resolution *ActiveCallsResolutionStats `json:"resolution,omitempty"`
}
type PublishersMetrics ΒΆ
type PublishersMetrics struct {
All *PublisherAllMetrics `json:"all,omitempty"`
}
type PushConfig ΒΆ
type PushNotificationConfig ΒΆ
type PushNotificationConfig struct {
// Whether push notifications are enabled for this feed group
EnablePush *bool `json:"enable_push,omitempty"`
// List of notification types that should trigger push notifications (e.g., follow, comment, reaction, comment_reaction, mention)
PushTypes []string `json:"push_types,omitempty"`
}
type PushNotificationFields ΒΆ
type PushNotificationFields struct {
OfflineOnly bool `json:"offline_only"`
Version string `json:"version"`
Apn APNConfigFields `json:"apn"`
Firebase FirebaseConfigFields `json:"firebase"`
Huawei HuaweiConfigFields `json:"huawei"`
Xiaomi XiaomiConfigFields `json:"xiaomi"`
Providers []PushProvider `json:"providers,omitempty"`
}
type PushPreferenceInput ΒΆ
type PushPreferenceInput struct {
// Set the level of call push notifications for the user. One of: all, none, default
CallLevel *string `json:"call_level,omitempty"`
// Set the push preferences for a specific channel. If empty it sets the default for the user
ChannelCid *string `json:"channel_cid,omitempty"`
// Set the level of chat push notifications for the user. Note: "mentions" is deprecated in favor of "direct_mentions". One of: all, mentions, direct_mentions, all_mentions, none, default
ChatLevel *string `json:"chat_level,omitempty"`
// Disable push notifications till a certain time
DisabledUntil *Timestamp `json:"disabled_until,omitempty"`
// Set the level of feeds push notifications for the user. One of: all, none, default
FeedsLevel *string `json:"feeds_level,omitempty"`
// Remove the disabled until time. (IE stop snoozing notifications)
RemoveDisable *bool `json:"remove_disable,omitempty"`
// The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth.
UserID *string `json:"user_id,omitempty"`
FeedsPreferences *FeedsPreferences `json:"feeds_preferences,omitempty"`
}
type PushPreferencesResponse ΒΆ
type PushPreferencesResponse struct {
CallLevel *string `json:"call_level,omitempty"`
ChatLevel *string `json:"chat_level,omitempty"`
DisabledUntil *Timestamp `json:"disabled_until,omitempty"`
FeedsLevel *string `json:"feeds_level,omitempty"`
FeedsPreferences *FeedsPreferencesResponse `json:"feeds_preferences,omitempty"`
}
type PushProvider ΒΆ
type PushProvider struct {
CreatedAt Timestamp `json:"created_at"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
Type string `json:"type"`
ApnAuthKey *string `json:"apn_auth_key,omitempty"`
ApnAuthType *string `json:"apn_auth_type,omitempty"`
ApnDevelopment *bool `json:"apn_development,omitempty"`
ApnHost *string `json:"apn_host,omitempty"`
ApnKeyID *string `json:"apn_key_id,omitempty"`
ApnNotificationTemplate *string `json:"apn_notification_template,omitempty"`
ApnP12Cert *string `json:"apn_p12_cert,omitempty"`
ApnTeamID *string `json:"apn_team_id,omitempty"`
ApnTopic *string `json:"apn_topic,omitempty"`
Description *string `json:"description,omitempty"`
DisabledAt *Timestamp `json:"disabled_at,omitempty"`
DisabledReason *string `json:"disabled_reason,omitempty"`
FirebaseApnTemplate *string `json:"firebase_apn_template,omitempty"`
FirebaseCredentials *string `json:"firebase_credentials,omitempty"`
FirebaseDataTemplate *string `json:"firebase_data_template,omitempty"`
FirebaseHost *string `json:"firebase_host,omitempty"`
FirebaseNotificationTemplate *string `json:"firebase_notification_template,omitempty"`
FirebaseServerKey *string `json:"firebase_server_key,omitempty"`
HuaweiAppID *string `json:"huawei_app_id,omitempty"`
HuaweiAppSecret *string `json:"huawei_app_secret,omitempty"`
HuaweiHost *string `json:"huawei_host,omitempty"`
XiaomiAppSecret *string `json:"xiaomi_app_secret,omitempty"`
XiaomiPackageName *string `json:"xiaomi_package_name,omitempty"`
PushTemplates []PushTemplate `json:"push_templates,omitempty"`
}
type PushProviderRequest ΒΆ
type PushProviderRequest struct {
Name string `json:"name"`
ApnAuthKey *string `json:"apn_auth_key,omitempty"`
ApnAuthType *string `json:"apn_auth_type,omitempty"`
ApnDevelopment *bool `json:"apn_development,omitempty"`
ApnHost *string `json:"apn_host,omitempty"`
ApnKeyID *string `json:"apn_key_id,omitempty"`
ApnNotificationTemplate *string `json:"apn_notification_template,omitempty"`
ApnP12Cert *string `json:"apn_p12_cert,omitempty"`
ApnTeamID *string `json:"apn_team_id,omitempty"`
ApnTopic *string `json:"apn_topic,omitempty"`
Description *string `json:"description,omitempty"`
DisabledAt *Timestamp `json:"disabled_at,omitempty"`
DisabledReason *string `json:"disabled_reason,omitempty"`
FirebaseApnTemplate *string `json:"firebase_apn_template,omitempty"`
FirebaseCredentials *string `json:"firebase_credentials,omitempty"`
FirebaseDataTemplate *string `json:"firebase_data_template,omitempty"`
FirebaseHost *string `json:"firebase_host,omitempty"`
FirebaseNotificationTemplate *string `json:"firebase_notification_template,omitempty"`
FirebaseServerKey *string `json:"firebase_server_key,omitempty"`
HuaweiAppID *string `json:"huawei_app_id,omitempty"`
HuaweiAppSecret *string `json:"huawei_app_secret,omitempty"`
XiaomiAppSecret *string `json:"xiaomi_app_secret,omitempty"`
XiaomiPackageName *string `json:"xiaomi_package_name,omitempty"`
Type *string `json:"type,omitempty"`
}
type PushProviderResponse ΒΆ
type PushProviderResponse struct {
CreatedAt Timestamp `json:"created_at"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
Type string `json:"type"`
ApnAuthKey *string `json:"apn_auth_key,omitempty"`
ApnAuthType *string `json:"apn_auth_type,omitempty"`
ApnDevelopment *bool `json:"apn_development,omitempty"`
ApnHost *string `json:"apn_host,omitempty"`
ApnKeyID *string `json:"apn_key_id,omitempty"`
ApnP12Cert *string `json:"apn_p12_cert,omitempty"`
ApnSandboxCertificate *bool `json:"apn_sandbox_certificate,omitempty"`
ApnSupportsRemoteNotifications *bool `json:"apn_supports_remote_notifications,omitempty"`
ApnSupportsVoipNotifications *bool `json:"apn_supports_voip_notifications,omitempty"`
ApnTeamID *string `json:"apn_team_id,omitempty"`
ApnTopic *string `json:"apn_topic,omitempty"`
Description *string `json:"description,omitempty"`
DisabledAt *Timestamp `json:"disabled_at,omitempty"`
DisabledReason *string `json:"disabled_reason,omitempty"`
FirebaseApnTemplate *string `json:"firebase_apn_template,omitempty"`
FirebaseCredentials *string `json:"firebase_credentials,omitempty"`
FirebaseDataTemplate *string `json:"firebase_data_template,omitempty"`
FirebaseHost *string `json:"firebase_host,omitempty"`
FirebaseNotificationTemplate *string `json:"firebase_notification_template,omitempty"`
FirebaseServerKey *string `json:"firebase_server_key,omitempty"`
HuaweiAppID *string `json:"huawei_app_id,omitempty"`
HuaweiAppSecret *string `json:"huawei_app_secret,omitempty"`
XiaomiAppSecret *string `json:"xiaomi_app_secret,omitempty"`
XiaomiPackageName *string `json:"xiaomi_package_name,omitempty"`
}
type PushTemplate ΒΆ
type PushTemplateResponse ΒΆ
type PushTemplateResponse struct {
// Time when the template was created
CreatedAt Timestamp `json:"created_at"`
// Whether push notification is enabled for this event
EnablePush bool `json:"enable_push"`
// Type of event this template applies to
EventType string `json:"event_type"`
// Internal ID of the push provider
PushProviderInternalID string `json:"push_provider_internal_id"`
// Time when the template was last updated
UpdatedAt Timestamp `json:"updated_at"`
// The push notification template
Template *string `json:"template,omitempty"`
}
type QualityScoreReport ΒΆ
type QualityScoreReport struct {
Histogram []ReportByHistogramBucket `json:"histogram"`
}
type QualityScoreReportResponse ΒΆ
type QualityScoreReportResponse struct {
Daily []DailyAggregateQualityScoreReportResponse `json:"daily"`
}
type QueryActivitiesRequest ΒΆ
type QueryActivitiesRequest struct {
IncludeExpiredActivities *bool `json:"include_expired_activities"`
IncludePrivateActivities *bool `json:"include_private_activities"`
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryActivitiesResponse ΒΆ
type QueryActivitiesResponse struct {
Duration string `json:"duration"`
// List of activities matching the query
Activities []ActivityResponse `json:"activities"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryActivityReactionsResponse ΒΆ
type QueryActivityReactionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Reactions []FeedsReactionResponse `json:"reactions"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryAggregateCallStatsResponse ΒΆ
type QueryAggregateCallStatsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
CallDurationReport *CallDurationReportResponse `json:"call_duration_report,omitempty"`
CallParticipantCountReport *CallParticipantCountReportResponse `json:"call_participant_count_report,omitempty"`
CallsPerDayReport *CallsPerDayReportResponse `json:"calls_per_day_report,omitempty"`
NetworkMetricsReport *NetworkMetricsReportResponse `json:"network_metrics_report,omitempty"`
QualityScoreReport *QualityScoreReportResponse `json:"quality_score_report,omitempty"`
SdkUsageReport *SDKUsageReportResponse `json:"sdk_usage_report,omitempty"`
UserFeedbackReport *UserFeedbackReportResponse `json:"user_feedback_report,omitempty"`
}
Basic response information
type QueryAppealsRequest ΒΆ
type QueryAppealsRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryAppealsResponse ΒΆ
type QueryAppealsResponse struct {
Duration string `json:"duration"`
// List of Appeal Items
Items []AppealItemResponse `json:"items"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryBannedUsersPayload ΒΆ
type QueryBannedUsersPayload struct {
FilterConditions map[string]any `json:"filter_conditions"`
// Whether to exclude expired bans or not
ExcludeExpiredBans *bool `json:"exclude_expired_bans,omitempty"`
// Number of records to return
Limit *int `json:"limit,omitempty"`
// Number of records to offset
Offset *int `json:"offset,omitempty"`
UserID *string `json:"user_id,omitempty"`
// Array of sort parameters
Sort []SortParamRequest `json:"sort,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
type QueryBannedUsersRequest ΒΆ
type QueryBannedUsersRequest struct {
Payload *QueryBannedUsersPayload `json:"-" query:"payload"`
}
type QueryBannedUsersResponse ΒΆ
type QueryBannedUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of found bans
Bans []BanResponse `json:"bans"`
}
type QueryBookmarkFoldersResponse ΒΆ
type QueryBookmarkFoldersResponse struct {
Duration string `json:"duration"`
// List of bookmark folders matching the query
BookmarkFolders []BookmarkFolderResponse `json:"bookmark_folders"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryBookmarksRequest ΒΆ
type QueryBookmarksResponse ΒΆ
type QueryBookmarksResponse struct {
Duration string `json:"duration"`
// List of bookmarks matching the query
Bookmarks []BookmarkResponse `json:"bookmarks"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryCallMembersResponse ΒΆ
type QueryCallMembersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Members []MemberResponse `json:"members"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryCallParticipantSessionsResponse ΒΆ
type QueryCallParticipantSessionsResponse struct {
CallID string `json:"call_id"`
CallSessionID string `json:"call_session_id"`
CallType string `json:"call_type"`
// Duration of the request in milliseconds
Duration int `json:"duration"`
TotalParticipantDuration int `json:"total_participant_duration"`
TotalParticipantSessions int `json:"total_participant_sessions"`
ParticipantsSessions []ParticipantSessionDetails `json:"participants_sessions"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
Session *CallSessionResponse `json:"session,omitempty"`
}
Basic response information
type QueryCallParticipantsResponse ΒΆ
type QueryCallParticipantsResponse struct {
Duration string `json:"duration"`
TotalParticipants int `json:"total_participants"`
Members []MemberResponse `json:"members"`
OwnCapabilities []OwnCapability `json:"own_capabilities"`
// List of call participants
Participants []CallParticipantResponse `json:"participants"`
Call CallResponse `json:"call"`
}
type QueryCallSessionParticipantStatsResponse ΒΆ
type QueryCallSessionParticipantStatsResponse struct {
CallID string `json:"call_id"`
CallSessionID string `json:"call_session_id"`
CallType string `json:"call_type"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
Participants []CallStatsParticipant `json:"participants"`
Counts CallStatsParticipantCounts `json:"counts"`
CallEndedAt *Timestamp `json:"call_ended_at,omitempty"`
CallStartedAt *Timestamp `json:"call_started_at,omitempty"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
TmpDataSource *string `json:"tmp_data_source,omitempty"`
}
Basic response information
type QueryCallSessionParticipantStatsTimelineResponse ΒΆ
type QueryCallSessionParticipantStatsTimelineResponse struct {
CallID string `json:"call_id"`
CallSessionID string `json:"call_session_id"`
CallType string `json:"call_type"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
UserID string `json:"user_id"`
UserSessionID string `json:"user_session_id"`
Events []CallParticipantTimeline `json:"events"`
}
Basic response information
type QueryCallStatsMapResponse ΒΆ
type QueryCallStatsMapResponse struct {
CallID string `json:"call_id"`
CallSessionID string `json:"call_session_id"`
CallType string `json:"call_type"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
Counts CallStatsParticipantCounts `json:"counts"`
CallEndedAt *Timestamp `json:"call_ended_at,omitempty"`
CallStartedAt *Timestamp `json:"call_started_at,omitempty"`
DataSource *string `json:"data_source,omitempty"`
EndTime *Timestamp `json:"end_time,omitempty"`
GeneratedAt *Timestamp `json:"generated_at,omitempty"`
StartTime *Timestamp `json:"start_time,omitempty"`
Publishers *CallStatsMapPublishers `json:"publishers,omitempty"`
Sfus *CallStatsMapSFUs `json:"sfus,omitempty"`
Subscribers *CallStatsMapSubscribers `json:"subscribers,omitempty"`
}
Basic response information
type QueryCallStatsRequest ΒΆ
type QueryCallStatsResponse ΒΆ
type QueryCallStatsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Reports []CallStatsReportSummaryResponse `json:"reports"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryCallsRequest ΒΆ
type QueryCallsResponse ΒΆ
type QueryCallsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Calls []CallStateResponseFields `json:"calls"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryCampaignsRequest ΒΆ
type QueryCampaignsResponse ΒΆ
type QueryCampaignsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Campaigns []CampaignResponse `json:"campaigns"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryChannelsRequest ΒΆ
type QueryChannelsRequest struct {
Limit *int `json:"limit"`
MemberLimit *int `json:"member_limit"`
MessageLimit *int `json:"message_limit"`
Offset *int `json:"offset"`
PredefinedFilter *string `json:"predefined_filter"`
State *bool `json:"state"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
FilterConditions map[string]any `json:"filter_conditions"`
FilterValues map[string]any `json:"filter_values"`
SortValues map[string]any `json:"sort_values"`
User *UserRequest `json:"user"`
}
type QueryChannelsResponse ΒΆ
type QueryChannelsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of channels
Channels []ChannelStateResponseFields `json:"channels"`
PredefinedFilter *ParsedPredefinedFilterResponse `json:"predefined_filter,omitempty"`
}
type QueryCommentReactionsResponse ΒΆ
type QueryCommentReactionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Reactions []FeedsReactionResponse `json:"reactions"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryCommentsRequest ΒΆ
type QueryCommentsResponse ΒΆ
type QueryCommentsResponse struct {
Duration string `json:"duration"`
// List of comments matching the query
Comments []CommentResponse `json:"comments"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryDraftsRequest ΒΆ
type QueryDraftsRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryDraftsResponse ΒΆ
type QueryDraftsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Drafts
Drafts []DraftResponse `json:"drafts"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryFeedMembersResponse ΒΆ
type QueryFeedMembersResponse struct {
Duration string `json:"duration"`
// List of feed members
Members []FeedMemberResponse `json:"members"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryFeedModerationTemplate ΒΆ
type QueryFeedModerationTemplate struct {
// When the template was created
CreatedAt Timestamp `json:"created_at"`
// Name of the moderation template
Name string `json:"name"`
// When the template was last updated
UpdatedAt Timestamp `json:"updated_at"`
Config *FeedsModerationTemplateConfigPayload `json:"config,omitempty"`
}
type QueryFeedModerationTemplatesResponse ΒΆ
type QueryFeedModerationTemplatesResponse struct {
Duration string `json:"duration"`
// List of moderation templates
Templates []QueryFeedModerationTemplate `json:"templates"`
}
type QueryFeedsRequest ΒΆ
type QueryFeedsResponse ΒΆ
type QueryFeedsResponse struct {
Duration string `json:"duration"`
// List of feeds matching the query
Feeds []FeedResponse `json:"feeds"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryFeedsUsageStatsResponse ΒΆ
type QueryFeedsUsageStatsResponse struct {
Duration string `json:"duration"`
APIRequests DailyMetricStatsResponse `json:"api_requests"`
Activities DailyMetricStatsResponse `json:"activities"`
Follows DailyMetricStatsResponse `json:"follows"`
OpenaiRequests DailyMetricStatsResponse `json:"openai_requests"`
}
type QueryFollowsRequest ΒΆ
type QueryFollowsResponse ΒΆ
type QueryFollowsResponse struct {
Duration string `json:"duration"`
// List of follow relationships matching the query
Follows []FollowResponse `json:"follows"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryFutureChannelBansPayload ΒΆ
type QueryFutureChannelBansPayload struct {
// Whether to exclude expired bans or not
ExcludeExpiredBans *bool `json:"exclude_expired_bans,omitempty"`
// Number of records to return
Limit *int `json:"limit,omitempty"`
// Number of records to offset
Offset *int `json:"offset,omitempty"`
// Filter by the target user ID. For server-side requests only.
TargetUserID *string `json:"target_user_id,omitempty"`
UserID *string `json:"user_id,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
type QueryFutureChannelBansRequest ΒΆ
type QueryFutureChannelBansRequest struct {
Payload *QueryFutureChannelBansPayload `json:"-" query:"payload"`
}
type QueryFutureChannelBansResponse ΒΆ
type QueryFutureChannelBansResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of found future channel bans
Bans []FutureChannelBanResponse `json:"bans"`
}
type QueryMembersPayload ΒΆ
type QueryMembersPayload struct {
Type string `json:"type"`
FilterConditions map[string]any `json:"filter_conditions"`
ID *string `json:"id,omitempty"`
Limit *int `json:"limit,omitempty"`
Offset *int `json:"offset,omitempty"`
UserID *string `json:"user_id,omitempty"`
Members []ChannelMemberRequest `json:"members,omitempty"`
Sort []SortParamRequest `json:"sort,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
Client request
type QueryMembersRequest ΒΆ
type QueryMembersRequest struct {
Payload *QueryMembersPayload `json:"-" query:"payload"`
}
type QueryMembershipLevelsResponse ΒΆ
type QueryMembershipLevelsResponse struct {
Duration string `json:"duration"`
MembershipLevels []MembershipLevelResponse `json:"membership_levels"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryMessageFlagsPayload ΒΆ
type QueryMessageFlagsPayload struct {
Limit *int `json:"limit,omitempty"`
Offset *int `json:"offset,omitempty"`
// Whether to include deleted messages in the results
ShowDeletedMessages *bool `json:"show_deleted_messages,omitempty"`
UserID *string `json:"user_id,omitempty"`
Sort []SortParamRequest `json:"sort,omitempty"`
FilterConditions map[string]any `json:"filter_conditions,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
type QueryMessageFlagsRequest ΒΆ
type QueryMessageFlagsRequest struct {
Payload *QueryMessageFlagsPayload `json:"-" query:"payload"`
}
type QueryMessageFlagsResponse ΒΆ
type QueryMessageFlagsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// The flags that match the query
Flags []MessageFlagResponse `json:"flags"`
}
Query message flags response
type QueryMessageHistoryResponse ΒΆ
type QueryMessageHistoryResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Message history entries
MessageHistory []MessageHistoryEntryResponse `json:"message_history"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryModerationConfigsRequest ΒΆ
type QueryModerationConfigsRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryModerationConfigsResponse ΒΆ
type QueryModerationConfigsResponse struct {
Duration string `json:"duration"`
// List of moderation configurations
Configs []ConfigResponse `json:"configs"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryModerationFlagsResponse ΒΆ
type QueryModerationFlagsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Flags []ModerationFlagResponse `json:"flags"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryModerationLogsRequest ΒΆ
type QueryModerationLogsRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryModerationLogsResponse ΒΆ
type QueryModerationLogsResponse struct {
Duration string `json:"duration"`
// List of moderation action logs
Logs []ActionLogResponse `json:"logs"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryModerationRulesRequest ΒΆ
type QueryModerationRulesRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryModerationRulesResponse ΒΆ
type QueryModerationRulesResponse struct {
Duration string `json:"duration"`
// Available harm labels for closed caption rules
ClosedCaptionLabels []string `json:"closed_caption_labels"`
// Available harm labels for keyframe rules
KeyframeLabels []string `json:"keyframe_labels"`
// List of moderation rules
Rules []ModerationRuleV2Response `json:"rules"`
// Default LLM label descriptions
DefaultLlmLabels map[string]string `json:"default_llm_labels"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryPinnedActivitiesResponse ΒΆ
type QueryPinnedActivitiesResponse struct {
Duration string `json:"duration"`
// List of pinned activities matching the query
PinnedActivities []ActivityPinResponse `json:"pinned_activities"`
// Cursor for next page
Next *string `json:"next,omitempty"`
// Cursor for previous page
Prev *string `json:"prev,omitempty"`
}
type QueryPollVotesRequest ΒΆ
type QueryPollsRequest ΒΆ
type QueryPollsResponse ΒΆ
type QueryPollsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Polls data returned by the query
Polls []PollResponseData `json:"polls"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryReactionsRequest ΒΆ
type QueryReactionsRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryReactionsResponse ΒΆ
type QueryReactionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Reactions []ReactionResponse `json:"reactions"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryRemindersRequest ΒΆ
type QueryRemindersRequest struct {
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryRemindersResponse ΒΆ
type QueryRemindersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// MessageReminders data returned by the query
Reminders []ReminderResponseData `json:"reminders"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryReviewQueueRequest ΒΆ
type QueryReviewQueueRequest struct {
Limit *int `json:"limit"`
LockCount *int `json:"lock_count"`
LockDuration *int `json:"lock_duration"`
LockItems *bool `json:"lock_items"`
Next *string `json:"next"`
Prev *string `json:"prev"`
StatsOnly *bool `json:"stats_only"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryReviewQueueResponse ΒΆ
type QueryReviewQueueResponse struct {
Duration string `json:"duration"`
// List of review queue items
Items []ReviewQueueItemResponse `json:"items"`
// Configuration for moderation actions
ActionConfig map[string][]ModerationActionConfigResponse `json:"action_config"`
// Statistics about the review queue
Stats map[string]any `json:"stats"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
FilterConfig *FilterConfigResponse `json:"filter_config,omitempty"`
}
type QuerySegmentTargetsResponse ΒΆ
type QuerySegmentTargetsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Targets
Targets []SegmentTargetResponse `json:"targets"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QuerySegmentsRequest ΒΆ
type QuerySegmentsResponse ΒΆ
type QuerySegmentsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Segments
Segments []SegmentResponse `json:"segments"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryTeamUsageStatsResponse ΒΆ
type QueryTeamUsageStatsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Array of team usage statistics
Teams []TeamUsageStats `json:"teams"`
// Cursor for pagination to fetch next page
Next *string `json:"next,omitempty"`
}
Response containing team-level usage statistics
type QueryThreadsRequest ΒΆ
type QueryThreadsRequest struct {
Limit *int `json:"limit"`
MemberLimit *int `json:"member_limit"`
Next *string `json:"next"`
ParticipantLimit *int `json:"participant_limit"`
Prev *string `json:"prev"`
ReplyLimit *int `json:"reply_limit"`
UserID *string `json:"user_id"`
Sort []SortParamRequest `json:"sort"`
Filter map[string]any `json:"filter"`
User *UserRequest `json:"user"`
}
type QueryThreadsResponse ΒΆ
type QueryThreadsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of enriched thread states
Threads []ThreadStateResponse `json:"threads"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
type QueryUserFeedbackResponse ΒΆ
type QueryUserFeedbackResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
UserFeedback []UserFeedbackResponse `json:"user_feedback"`
Next *string `json:"next,omitempty"`
Prev *string `json:"prev,omitempty"`
}
Basic response information
type QueryUsersPayload ΒΆ
type QueryUsersPayload struct {
FilterConditions map[string]any `json:"filter_conditions"`
IncludeDeactivatedUsers *bool `json:"include_deactivated_users,omitempty"`
Limit *int `json:"limit,omitempty"`
Offset *int `json:"offset,omitempty"`
Presence *bool `json:"presence,omitempty"`
UserID *string `json:"user_id,omitempty"`
Sort []SortParamRequest `json:"sort,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
Client request
type QueryUsersRequest ΒΆ
type QueryUsersRequest struct {
Payload *QueryUsersPayload `json:"-" query:"payload"`
}
type QueryUsersResponse ΒΆ
type QueryUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Array of users as result of filters applied.
Users []FullUserResponse `json:"users"`
}
type RTMPBroadcastRequest ΒΆ
type RTMPBroadcastRequest struct {
// Name identifier for RTMP broadcast, must be unique in call
Name string `json:"name"`
// URL for the RTMP server to send the call to
StreamUrl string `json:"stream_url"`
// If provided, will override the call's RTMP settings quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560
Quality *string `json:"quality,omitempty"`
// If provided, will be appended at the end of stream_url
StreamKey *string `json:"stream_key,omitempty"`
Layout *LayoutSettingsRequest `json:"layout,omitempty"`
}
RTMPBroadcastRequest is the payload for starting an RTMP broadcast.
type RTMPLocation ΒΆ
type RTMPSettings ΒΆ
type RTMPSettings struct {
Enabled bool `json:"enabled"`
QualityName *string `json:"quality_name,omitempty"`
Layout *LayoutSettings `json:"layout,omitempty"`
Location *RTMPLocation `json:"location,omitempty"`
}
type RTMPSettingsRequest ΒΆ
type RTMPSettingsRequest struct {
// Whether RTMP broadcasting is enabled
Enabled *bool `json:"enabled,omitempty"`
// Resolution to set for the RTMP stream. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560
Quality *string `json:"quality,omitempty"`
Layout *LayoutSettingsRequest `json:"layout,omitempty"`
}
type RTMPSettingsResponse ΒΆ
type RTMPSettingsResponse struct {
Enabled bool `json:"enabled"`
Quality string `json:"quality"`
Layout LayoutSettingsResponse `json:"layout"`
}
RTMPSettingsResponse is the payload for RTMP settings
type RankingConfig ΒΆ
type RankingConfig struct {
// Type of ranking algorithm. Required. One of: expression, interest
Type string `json:"type"`
// Scoring formula. Required when type is 'expression' or 'interest'
Score *string `json:"score,omitempty"`
// Default values for ranking
Defaults map[string]any `json:"defaults,omitempty"`
// Decay functions configuration
Functions map[string]DecayFunctionConfig `json:"functions,omitempty"`
}
type RateLimitInfo ΒΆ
type RateLimitInfo struct {
// Limit is the maximum number of API calls for a single time window (1 minute).
Limit int64 `json:"limit"`
// Remaining is the number of API calls remaining in the current time window (1 minute).
Remaining int64 `json:"remaining"`
// Reset is the Unix timestamp of the expiration of the current rate limit time window.
Reset int64 `json:"reset"`
}
RateLimitInfo represents the quota and usage for a single endpoint.
func NewRateLimitFromHeaders ΒΆ
func NewRateLimitFromHeaders(headers http.Header) *RateLimitInfo
type RawRecordSettings ΒΆ
type RawRecordSettings struct {
Mode string `json:"mode"`
}
type RawRecordingResponse ΒΆ
type RawRecordingResponse struct {
Status string `json:"status"`
}
type RawRecordingSettingsRequest ΒΆ
type RawRecordingSettingsRequest struct {
// Recording mode. One of: available, disabled, auto-on
Mode string `json:"mode"`
}
type RawRecordingSettingsResponse ΒΆ
type RawRecordingSettingsResponse struct {
Mode string `json:"mode"`
}
type Reaction ΒΆ
type Reaction struct {
ActivityID string `json:"activity_id"`
CreatedAt Timestamp `json:"created_at"`
Kind string `json:"kind"`
UpdatedAt Timestamp `json:"updated_at"`
UserID string `json:"user_id"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
ID *string `json:"id,omitempty"`
Parent *string `json:"parent,omitempty"`
Score *float64 `json:"score,omitempty"`
TargetFeeds []string `json:"target_feeds,omitempty"`
ChildrenCounts map[string]any `json:"children_counts,omitempty"`
Data map[string]any `json:"data,omitempty"`
LatestChildren map[string][]Reaction `json:"latest_children,omitempty"`
Moderation map[string]any `json:"moderation,omitempty"`
OwnChildren map[string][]Reaction `json:"own_children,omitempty"`
TargetFeedsExtraData map[string]any `json:"target_feeds_extra_data,omitempty"`
User *User `json:"user,omitempty"`
}
type ReactionDeletedEvent ΒΆ
type ReactionDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "reaction.deleted" in this case
Type string `json:"type"`
// The ID of the channel containing the message
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel containing the message
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel containing the message
Cid *string `json:"cid,omitempty"`
MessageID *string `json:"message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
// The participants of the thread
ThreadParticipants []UserResponseCommonFields `json:"thread_participants,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
Reaction *ReactionResponse `json:"reaction,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is deleted from a message.
func (*ReactionDeletedEvent) GetEventType ΒΆ
func (e *ReactionDeletedEvent) GetEventType() string
type ReactionGroupResponse ΒΆ
type ReactionGroupResponse struct {
// Count is the number of reactions of this type.
Count int `json:"count"`
// FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting.
FirstReactionAt Timestamp `json:"first_reaction_at"`
// LastReactionAt is the time of the last reaction of this type.
LastReactionAt Timestamp `json:"last_reaction_at"`
// SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`.
SumScores int `json:"sum_scores"`
}
ReactionGroupResponse contains all information about a reaction of the same type.
type ReactionNewEvent ΒΆ
type ReactionNewEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
// The type of event: "reaction.new" in this case
Type string `json:"type"`
// The ID of the channel containing the message
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel containing the message
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel containing the message
Cid *string `json:"cid,omitempty"`
MessageID *string `json:"message_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
// The participants of the thread
ThreadParticipants []UserResponseCommonFields `json:"thread_participants,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
Reaction *ReactionResponse `json:"reaction,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a new reaction is added to a message.
func (*ReactionNewEvent) GetEventType ΒΆ
func (e *ReactionNewEvent) GetEventType() string
type ReactionRequest ΒΆ
type ReactionRequest struct {
// The type of reaction (e.g. 'like', 'laugh', 'wow')
Type string `json:"type"`
// Date/time of creation
CreatedAt *Timestamp `json:"created_at,omitempty"`
// Reaction score. If not specified reaction has score of 1
Score *int `json:"score,omitempty"`
// Date/time of the last update
UpdatedAt *Timestamp `json:"updated_at,omitempty"`
UserID *string `json:"user_id,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
User *UserRequest `json:"user,omitempty"`
}
Represents user reaction to a message
type ReactionResponse ΒΆ
type ReactionResponse struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Message ID
MessageID string `json:"message_id"`
// Score of the reaction
Score int `json:"score"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// User ID
UserID string `json:"user_id"`
// Type of reaction
Type string `json:"type"`
// Custom data for this object
Custom map[string]any `json:"custom"`
User UserResponse `json:"user"`
}
type ReactionUpdatedEvent ΒΆ
type ReactionUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
Channel ChannelResponse `json:"channel"`
Custom map[string]any `json:"custom"`
Message MessageResponse `json:"message"`
// The type of event: "reaction.updated" in this case
Type string `json:"type"`
// The ID of the channel containing the message
ChannelID *string `json:"channel_id,omitempty"`
// The number of members in the channel
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
// The number of messages in the channel
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel containing the message
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel containing the message
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team ID
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
Reaction *ReactionResponse `json:"reaction,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when a reaction is updated on a message.
func (*ReactionUpdatedEvent) GetEventType ΒΆ
func (e *ReactionUpdatedEvent) GetEventType() string
type ReactivateUserRequest ΒΆ
type ReactivateUserResponse ΒΆ
type ReactivateUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
User *UserResponse `json:"user,omitempty"`
}
type ReactivateUsersRequest ΒΆ
type ReactivateUsersResponse ΒΆ
type ReactivateUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
TaskID string `json:"task_id"`
}
Basic response information
type ReadCollectionsRequest ΒΆ
type ReadCollectionsResponse ΒΆ
type ReadCollectionsResponse struct {
Duration string `json:"duration"`
// List of collections matching the query
Collections []CollectionResponse `json:"collections"`
// Cursor for next page (when listing without collection_refs)
Next *string `json:"next,omitempty"`
// Cursor for previous page (when listing without collection_refs)
Prev *string `json:"prev,omitempty"`
}
type ReadReceiptsResponse ΒΆ
type ReadReceiptsResponse struct {
Enabled *bool `json:"enabled,omitempty"`
}
type ReadStateResponse ΒΆ
type ReadStateResponse struct {
LastRead Timestamp `json:"last_read"`
UnreadMessages int `json:"unread_messages"`
User UserResponse `json:"user"`
LastDeliveredAt *Timestamp `json:"last_delivered_at,omitempty"`
LastDeliveredMessageID *string `json:"last_delivered_message_id,omitempty"`
LastReadMessageID *string `json:"last_read_message_id,omitempty"`
}
type RecordSettings ΒΆ
type RecordSettings struct {
Mode string `json:"mode"`
AudioOnly *bool `json:"audio_only,omitempty"`
Quality *string `json:"quality,omitempty"`
Layout *LayoutSettings `json:"layout,omitempty"`
}
type RecordSettingsRequest ΒΆ
type RecordSettingsRequest struct {
// Recording mode. One of: available, disabled, auto-on
Mode string `json:"mode"`
// Whether to record audio only
AudioOnly *bool `json:"audio_only,omitempty"`
// Recording quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560
Quality *string `json:"quality,omitempty"`
Layout *LayoutSettingsRequest `json:"layout,omitempty"`
}
type RecordSettingsResponse ΒΆ
type RecordSettingsResponse struct {
AudioOnly bool `json:"audio_only"`
Mode string `json:"mode"`
Quality string `json:"quality"`
Layout LayoutSettingsResponse `json:"layout"`
}
RecordSettings is the payload for recording settings
type RejectAppealRequestPayload ΒΆ
type RejectAppealRequestPayload struct {
// Reason for rejecting the appeal
DecisionReason string `json:"decision_reason"`
}
Configuration for rejecting an appeal
type RejectFeedMemberInviteRequest ΒΆ
type RejectFeedMemberInviteRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type RejectFeedMemberInviteResponse ΒΆ
type RejectFeedMemberInviteResponse struct {
Duration string `json:"duration"`
Member FeedMemberResponse `json:"member"`
}
type RejectFollowRequest ΒΆ
type RejectFollowResponse ΒΆ
type RejectFollowResponse struct {
Duration string `json:"duration"`
Follow FollowResponse `json:"follow"`
}
type ReminderCreatedEvent ΒΆ
type ReminderCreatedEvent struct {
// The CID of the Channel for which the reminder was created
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the message for which the reminder was created
MessageID string `json:"message_id"`
// The ID of the user for whom the reminder was created
UserID string `json:"user_id"`
Custom map[string]any `json:"custom"`
// The type of event: "reminder.created" in this case
Type string `json:"type"`
// The ID of the parent message, if the reminder is for a thread message
ParentID *string `json:"parent_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Emitted when a reminder is created.
func (*ReminderCreatedEvent) GetEventType ΒΆ
func (e *ReminderCreatedEvent) GetEventType() string
type ReminderDeletedEvent ΒΆ
type ReminderDeletedEvent struct {
// The CID of the Channel for which the reminder was created
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the message for which the reminder was created
MessageID string `json:"message_id"`
// The ID of the user for whom the reminder was created
UserID string `json:"user_id"`
Custom map[string]any `json:"custom"`
// The type of event: "reminder.deleted" in this case
Type string `json:"type"`
// The ID of the parent message, if the reminder is for a thread message
ParentID *string `json:"parent_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Emitted when a reminder is deleted.
func (*ReminderDeletedEvent) GetEventType ΒΆ
func (e *ReminderDeletedEvent) GetEventType() string
type ReminderNotificationEvent ΒΆ
type ReminderNotificationEvent struct {
// The CID of the Channel for which the reminder was created
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the message for which the reminder was created
MessageID string `json:"message_id"`
// The ID of the user for whom the reminder was created
UserID string `json:"user_id"`
Custom map[string]any `json:"custom"`
// The type of event: "notification.reminder_due" in this case
Type string `json:"type"`
ParentID *string `json:"parent_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Emitted when a reminder becomes due, triggering a notification for the user.
func (*ReminderNotificationEvent) GetEventType ΒΆ
func (e *ReminderNotificationEvent) GetEventType() string
type ReminderResponseData ΒΆ
type ReminderResponseData struct {
ChannelCid string `json:"channel_cid"`
CreatedAt Timestamp `json:"created_at"`
MessageID string `json:"message_id"`
UpdatedAt Timestamp `json:"updated_at"`
UserID string `json:"user_id"`
RemindAt *Timestamp `json:"remind_at,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type ReminderUpdatedEvent ΒΆ
type ReminderUpdatedEvent struct {
// The CID of the Channel for which the reminder was created
Cid string `json:"cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the message for which the reminder was created
MessageID string `json:"message_id"`
// The ID of the user for whom the reminder was created
UserID string `json:"user_id"`
Custom map[string]any `json:"custom"`
// The type of event: "reminder.updated" in this case
Type string `json:"type"`
// The ID of the parent message, if the reminder is for a thread message
ParentID *string `json:"parent_id,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
Emitted when a reminder is updated.
func (*ReminderUpdatedEvent) GetEventType ΒΆ
func (e *ReminderUpdatedEvent) GetEventType() string
type RemoveUserGroupMembersResponse ΒΆ
type RemoveUserGroupMembersResponse struct {
Duration string `json:"duration"`
UserGroup *UserGroupResponse `json:"user_group,omitempty"`
}
Response for removing members from a user group
type RepliesMeta ΒΆ
type RepliesMeta struct {
// True if the subtree was cut because the requested depth was reached.
DepthTruncated bool `json:"depth_truncated"`
// True if more siblings exist in the database.
HasMore bool `json:"has_more"`
// Number of unread siblings that match current filters.
Remaining int `json:"remaining"`
// Opaque cursor to request the next page of siblings.
NextCursor *string `json:"next_cursor,omitempty"`
}
Cursor & depth information for a comment's direct replies. Mirrors Reddit's 'load more replies' semantics.
type ReportResponse ΒΆ
type ReportResponse struct {
Call CallReportResponse `json:"call"`
Participants ParticipantReportResponse `json:"participants"`
UserRatings UserRatingReportResponse `json:"user_ratings"`
}
type ResolutionMetricsTimeSeries ΒΆ
type ResolutionMetricsTimeSeries struct {
Height *MetricTimeSeries `json:"height,omitempty"`
Width *MetricTimeSeries `json:"width,omitempty"`
}
type ResolveSipInboundResponse ΒΆ
type ResolveSipInboundResponse struct {
Duration string `json:"duration"`
Credentials SipInboundCredentials `json:"credentials"`
SipRoutingRule *SIPInboundRoutingRuleResponse `json:"sip_routing_rule,omitempty"`
SipTrunk *SIPTrunkResponse `json:"sip_trunk,omitempty"`
}
Response containing resolved SIP inbound routing information
type Response ΒΆ
type Response struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type RestoreActionRequestPayload ΒΆ
type RestoreActionRequestPayload struct {
// Reason for the appeal decision
DecisionReason *string `json:"decision_reason,omitempty"`
}
Configuration for restore action
type RestoreActivityRequest ΒΆ
type RestoreActivityRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type RestoreActivityResponse ΒΆ
type RestoreActivityResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
}
type RestoreFeedGroupRequest ΒΆ
type RestoreFeedGroupRequest struct {
}
type RestoreFeedGroupResponse ΒΆ
type RestoreFeedGroupResponse struct {
Duration string `json:"duration"`
FeedGroup FeedGroupResponse `json:"feed_group"`
}
type RestoreUsersRequest ΒΆ
type RestoreUsersRequest struct {
UserIds []string `json:"user_ids"`
}
type ReviewQueueItemNewEvent ΒΆ
type ReviewQueueItemNewEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The flags associated with this review queue item
Flags []ModerationFlagResponse `json:"flags,omitempty"`
Action *ActionLogResponse `json:"action,omitempty"`
ReviewQueueItem *ReviewQueueItemResponse `json:"review_queue_item,omitempty"`
}
This event is sent when a new moderation review queue item is created
func (*ReviewQueueItemNewEvent) GetEventType ΒΆ
func (e *ReviewQueueItemNewEvent) GetEventType() string
type ReviewQueueItemResponse ΒΆ
type ReviewQueueItemResponse struct {
// AI-determined text severity
AiTextSeverity string `json:"ai_text_severity"`
// When the item was created
CreatedAt Timestamp `json:"created_at"`
// ID of the entity being reviewed
EntityID string `json:"entity_id"`
// Type of entity being reviewed
EntityType string `json:"entity_type"`
FlagsCount int `json:"flags_count"`
// Unique identifier of the review queue item
ID string `json:"id"`
LatestModeratorAction string `json:"latest_moderator_action"`
// Suggested moderation action
RecommendedAction string `json:"recommended_action"`
// ID of the moderator who reviewed the item
ReviewedBy string `json:"reviewed_by"`
// Severity level of the content
Severity int `json:"severity"`
// Current status of the review
Status string `json:"status"`
// When the item was last updated
UpdatedAt Timestamp `json:"updated_at"`
// Moderation actions taken
Actions []ActionLogResponse `json:"actions"`
// Associated ban records
Bans []BanInfoResponse `json:"bans"`
// Associated flag records
Flags []ModerationFlagResponse `json:"flags"`
// Detected languages in the content
Languages []string `json:"languages"`
// When the review was completed
CompletedAt *Timestamp `json:"completed_at,omitempty"`
ConfigKey *string `json:"config_key,omitempty"`
// ID of who created the entity
EntityCreatorID *string `json:"entity_creator_id,omitempty"`
// When the item was reviewed
ReviewedAt *Timestamp `json:"reviewed_at,omitempty"`
// Teams associated with this item
Teams []string `json:"teams,omitempty"`
Activity *EnrichedActivity `json:"activity,omitempty"`
Appeal *AppealItemResponse `json:"appeal,omitempty"`
AssignedTo *UserResponse `json:"assigned_to,omitempty"`
Call *CallResponse `json:"call,omitempty"`
EntityCreator *EntityCreatorResponse `json:"entity_creator,omitempty"`
FeedsV2Activity *EnrichedActivity `json:"feeds_v2_activity,omitempty"`
FeedsV2Reaction *Reaction `json:"feeds_v2_reaction,omitempty"`
FeedsV3Activity *ActivityResponse `json:"feeds_v3_activity,omitempty"`
FeedsV3Comment *CommentResponse `json:"feeds_v3_comment,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
ModerationPayload *ModerationPayloadResponse `json:"moderation_payload,omitempty"`
Reaction *Reaction `json:"reaction,omitempty"`
}
type ReviewQueueItemUpdatedEvent ΒΆ
type ReviewQueueItemUpdatedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The flags associated with this review queue item
Flags []ModerationFlagResponse `json:"flags,omitempty"`
Action *ActionLogResponse `json:"action,omitempty"`
ReviewQueueItem *ReviewQueueItemResponse `json:"review_queue_item,omitempty"`
}
This event is sent when a moderation review queue item is updated
func (*ReviewQueueItemUpdatedEvent) GetEventType ΒΆ
func (e *ReviewQueueItemUpdatedEvent) GetEventType() string
type RingCallRequest ΒΆ
type RingCallResponse ΒΆ
type RingSettings ΒΆ
type RingSettingsRequest ΒΆ
type RingSettingsRequest struct {
// When none of the callees accept a ring call in this time a rejection will be sent by the caller with reason 'timeout' by the SDKs
AutoCancelTimeoutMs int `json:"auto_cancel_timeout_ms"`
// When a callee is online but doesn't answer a ring call in this time a rejection will be sent with reason 'timeout' by the SDKs
IncomingCallTimeoutMs int `json:"incoming_call_timeout_ms"`
// When a callee doesn't accept or reject a ring call in this time a missed call event will be sent
MissedCallTimeoutMs *int `json:"missed_call_timeout_ms,omitempty"`
}
type RingSettingsResponse ΒΆ
type Role ΒΆ
type Role struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Whether this is a custom role or built-in
Custom bool `json:"custom"`
// Unique role name
Name string `json:"name"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// List of scopes where this role is currently present. `.app` means that role is present in app-level grants
Scopes []string `json:"scopes"`
}
type RuleBuilderAction ΒΆ
type RuleBuilderAction struct {
Type *string `json:"type,omitempty"`
BanOptions *BanOptions `json:"ban_options,omitempty"`
CallOptions *CallActionOptions `json:"call_options,omitempty"`
FlagUserOptions *FlagUserOptions `json:"flag_user_options,omitempty"`
}
type RuleBuilderCondition ΒΆ
type RuleBuilderCondition struct {
Confidence *float64 `json:"confidence,omitempty"`
Type *string `json:"type,omitempty"`
CallCustomPropertyParams *CallCustomPropertyParameters `json:"call_custom_property_params,omitempty"`
CallTypeRuleParams *CallTypeRuleParameters `json:"call_type_rule_params,omitempty"`
CallViolationCountParams *CallViolationCountParameters `json:"call_violation_count_params,omitempty"`
ClosedCaptionRuleParams *ClosedCaptionRuleParameters `json:"closed_caption_rule_params,omitempty"`
ContentCountRuleParams *ContentCountRuleParameters `json:"content_count_rule_params,omitempty"`
ContentFlagCountRuleParams *FlagCountRuleParameters `json:"content_flag_count_rule_params,omitempty"`
ImageContentParams *ImageContentParameters `json:"image_content_params,omitempty"`
ImageRuleParams *ImageRuleParameters `json:"image_rule_params,omitempty"`
KeyframeRuleParams *KeyframeRuleParameters `json:"keyframe_rule_params,omitempty"`
TextContentParams *TextContentParameters `json:"text_content_params,omitempty"`
TextRuleParams *TextRuleParameters `json:"text_rule_params,omitempty"`
UserCreatedWithinParams *UserCreatedWithinParameters `json:"user_created_within_params,omitempty"`
UserCustomPropertyParams *UserCustomPropertyParameters `json:"user_custom_property_params,omitempty"`
UserFlagCountRuleParams *FlagCountRuleParameters `json:"user_flag_count_rule_params,omitempty"`
UserIdenticalContentCountParams *UserIdenticalContentCountParameters `json:"user_identical_content_count_params,omitempty"`
UserRoleParams *UserRoleParameters `json:"user_role_params,omitempty"`
UserRuleParams *UserRuleParameters `json:"user_rule_params,omitempty"`
VideoContentParams *VideoContentParameters `json:"video_content_params,omitempty"`
VideoRuleParams *VideoRuleParameters `json:"video_rule_params,omitempty"`
}
type RuleBuilderConditionGroup ΒΆ
type RuleBuilderConditionGroup struct {
Logic *string `json:"logic,omitempty"`
Conditions []RuleBuilderCondition `json:"conditions,omitempty"`
}
type RuleBuilderConfig ΒΆ
type RuleBuilderConfig struct {
Async *bool `json:"async,omitempty"`
Rules []RuleBuilderRule `json:"rules,omitempty"`
}
type RuleBuilderRule ΒΆ
type RuleBuilderRule struct {
RuleType string `json:"rule_type"`
CooldownPeriod *string `json:"cooldown_period,omitempty"`
ID *string `json:"id,omitempty"`
Logic *string `json:"logic,omitempty"`
ActionSequences []CallRuleActionSequence `json:"action_sequences,omitempty"`
Conditions []RuleBuilderCondition `json:"conditions,omitempty"`
Groups []RuleBuilderConditionGroup `json:"groups,omitempty"`
Action *RuleBuilderAction `json:"action,omitempty"`
}
type RunMessageActionRequest ΒΆ
type RunMessageActionRequest struct {
FormData map[string]string `json:"form_data"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type S3Request ΒΆ
type S3Request struct {
// The AWS region where the bucket is hosted
S3Region string `json:"s3_region"`
// The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application.
S3APIKey *string `json:"s3_api_key,omitempty"`
// The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters.
S3CustomEndpointUrl *string `json:"s3_custom_endpoint_url,omitempty"`
// The AWS API Secret
S3Secret *string `json:"s3_secret,omitempty"`
}
Config for creating Amazon S3 storage.
type SDKUsageReport ΒΆ
type SDKUsageReport struct {
PerSdkUsage map[string]*PerSDKUsageReport `json:"per_sdk_usage"`
}
type SDKUsageReportResponse ΒΆ
type SDKUsageReportResponse struct {
Daily []DailyAggregateSDKUsageReportResponse `json:"daily"`
}
type SFULocationResponse ΒΆ
type SFULocationResponse struct {
Datacenter string `json:"datacenter"`
ID string `json:"id"`
Coordinates CoordinatesResponse `json:"coordinates"`
Location LocationResponse `json:"location"`
Count *int `json:"count,omitempty"`
}
type SIPCallConfigsRequest ΒΆ
type SIPCallConfigsRequest struct {
// Custom data associated with the call
CustomData map[string]any `json:"custom_data,omitempty"`
}
Configuration for SIP call settings
type SIPCallConfigsResponse ΒΆ
type SIPCallConfigsResponse struct {
// Custom data associated with the call
CustomData map[string]any `json:"custom_data"`
}
SIP call configuration response
type SIPCallerConfigsRequest ΒΆ
type SIPCallerConfigsRequest struct {
// Unique identifier for the caller (handlebars template)
ID string `json:"id"`
// Custom data associated with the caller (values are handlebars templates)
CustomData map[string]any `json:"custom_data,omitempty"`
}
Configuration for SIP caller settings
type SIPCallerConfigsResponse ΒΆ
type SIPCallerConfigsResponse struct {
// Unique identifier for the caller
ID string `json:"id"`
// Custom data associated with the caller
CustomData map[string]any `json:"custom_data"`
}
SIP caller configuration response
type SIPChallengeRequest ΒΆ
type SIPChallengeRequest struct {
// Deprecated: A1 hash for backward compatibility
A1 *string `json:"a1,omitempty"`
// Hash algorithm (e.g., MD5, SHA-256)
Algorithm *string `json:"algorithm,omitempty"`
// Character set
Charset *string `json:"charset,omitempty"`
// Client nonce for qop=auth
Cnonce *string `json:"cnonce,omitempty"`
// SIP method (e.g., INVITE)
Method *string `json:"method,omitempty"`
// Nonce count for qop=auth
Nc *string `json:"nc,omitempty"`
// Server nonce
Nonce *string `json:"nonce,omitempty"`
// Opaque value
Opaque *string `json:"opaque,omitempty"`
// Authentication realm
Realm *string `json:"realm,omitempty"`
// Digest response hash from client
Response *string `json:"response,omitempty"`
// Whether the nonce is stale
Stale *bool `json:"stale,omitempty"`
// Request URI
Uri *string `json:"uri,omitempty"`
// Whether to hash the username
Userhash *bool `json:"userhash,omitempty"`
// Username for authentication
Username *string `json:"username,omitempty"`
// Domain list
Domain []string `json:"domain,omitempty"`
// Quality of protection options
Qop []string `json:"qop,omitempty"`
}
SIP digest challenge authentication data
type SIPDirectRoutingRuleCallConfigsRequest ΒΆ
type SIPDirectRoutingRuleCallConfigsRequest struct {
// ID of the call (handlebars template)
CallID string `json:"call_id"`
// Type of the call
CallType string `json:"call_type"`
}
Configuration for direct routing rule calls
type SIPDirectRoutingRuleCallConfigsResponse ΒΆ
type SIPDirectRoutingRuleCallConfigsResponse struct {
// ID of the call
CallID string `json:"call_id"`
// Type of the call
CallType string `json:"call_type"`
}
Direct routing rule call configuration response
type SIPInboundRoutingRulePinConfigsRequest ΒΆ
type SIPInboundRoutingRulePinConfigsRequest struct {
// Optional webhook URL for custom PIN handling
CustomWebhookUrl *string `json:"custom_webhook_url,omitempty"`
// Prompt message for failed PIN attempts
PinFailedAttemptPrompt *string `json:"pin_failed_attempt_prompt,omitempty"`
// Prompt message for hangup after PIN input
PinHangupPrompt *string `json:"pin_hangup_prompt,omitempty"`
// Prompt message for PIN input
PinPrompt *string `json:"pin_prompt,omitempty"`
// Prompt message for successful PIN input
PinSuccessPrompt *string `json:"pin_success_prompt,omitempty"`
}
Configuration for PIN routing rule calls
type SIPInboundRoutingRulePinConfigsResponse ΒΆ
type SIPInboundRoutingRulePinConfigsResponse struct {
// Optional webhook URL for custom PIN handling
CustomWebhookUrl *string `json:"custom_webhook_url,omitempty"`
// Prompt message for failed PIN attempts
PinFailedAttemptPrompt *string `json:"pin_failed_attempt_prompt,omitempty"`
// Prompt message for hangup after PIN input
PinHangupPrompt *string `json:"pin_hangup_prompt,omitempty"`
// Prompt message for PIN input
PinPrompt *string `json:"pin_prompt,omitempty"`
// Prompt message for successful PIN input
PinSuccessPrompt *string `json:"pin_success_prompt,omitempty"`
}
PIN routing rule call configuration response
type SIPInboundRoutingRuleRequest ΒΆ
type SIPInboundRoutingRuleRequest struct {
// Name of the SIP Inbound Routing Rule
Name string `json:"name"`
// List of SIP trunk IDs
TrunkIds []string `json:"trunk_ids"`
CallerConfigs SIPCallerConfigsRequest `json:"caller_configs"`
// List of called numbers
CalledNumbers []string `json:"called_numbers,omitempty"`
// List of caller numbers (optional)
CallerNumbers []string `json:"caller_numbers,omitempty"`
CallConfigs *SIPCallConfigsRequest `json:"call_configs,omitempty"`
DirectRoutingConfigs *SIPDirectRoutingRuleCallConfigsRequest `json:"direct_routing_configs,omitempty"`
PinProtectionConfigs *SIPPinProtectionConfigsRequest `json:"pin_protection_configs,omitempty"`
PinRoutingConfigs *SIPInboundRoutingRulePinConfigsRequest `json:"pin_routing_configs,omitempty"`
}
Request to create or update a SIP Inbound Routing Rule
type SIPInboundRoutingRuleResponse ΒΆ
type SIPInboundRoutingRuleResponse struct {
// Creation timestamp
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// Unique identifier of the SIP Inbound Routing Rule
ID string `json:"id"`
// Name of the SIP Inbound Routing Rule
Name string `json:"name"`
// Last update timestamp
UpdatedAt Timestamp `json:"updated_at"`
// List of called numbers
CalledNumbers []string `json:"called_numbers"`
// List of SIP trunk IDs
TrunkIds []string `json:"trunk_ids"`
// List of caller numbers
CallerNumbers []string `json:"caller_numbers,omitempty"`
CallConfigs *SIPCallConfigsResponse `json:"call_configs,omitempty"`
CallerConfigs *SIPCallerConfigsResponse `json:"caller_configs,omitempty"`
DirectRoutingConfigs *SIPDirectRoutingRuleCallConfigsResponse `json:"direct_routing_configs,omitempty"`
PinProtectionConfigs *SIPPinProtectionConfigsResponse `json:"pin_protection_configs,omitempty"`
PinRoutingConfigs *SIPInboundRoutingRulePinConfigsResponse `json:"pin_routing_configs,omitempty"`
}
SIP Inbound Routing Rule response
type SIPPinProtectionConfigsRequest ΒΆ
type SIPPinProtectionConfigsRequest struct {
// Default PIN to use if there is no PIN set on the call object
DefaultPin *string `json:"default_pin,omitempty"`
// Whether PIN protection is enabled
Enabled *bool `json:"enabled,omitempty"`
// Maximum number of PIN attempts allowed
MaxAttempts *int `json:"max_attempts,omitempty"`
// Number of digits required for the PIN
RequiredPinDigits *int `json:"required_pin_digits,omitempty"`
}
Configuration for PIN protection settings
type SIPPinProtectionConfigsResponse ΒΆ
type SIPPinProtectionConfigsResponse struct {
// Whether PIN protection is enabled
Enabled bool `json:"enabled"`
// Default PIN to use if there is no PIN set on the call object
DefaultPin *string `json:"default_pin,omitempty"`
// Maximum number of PIN attempts allowed
MaxAttempts *int `json:"max_attempts,omitempty"`
// Number of digits required for the PIN
RequiredPinDigits *int `json:"required_pin_digits,omitempty"`
}
PIN protection configuration response
type SIPTrunkResponse ΒΆ
type SIPTrunkResponse struct {
// Creation timestamp
CreatedAt Timestamp `json:"created_at"`
// Unique identifier for the SIP trunk
ID string `json:"id"`
// Name of the SIP trunk
Name string `json:"name"`
// Password for SIP trunk authentication
Password string `json:"password"`
// Last update timestamp
UpdatedAt Timestamp `json:"updated_at"`
// The URI for the SIP trunk
Uri string `json:"uri"`
// Username for SIP trunk authentication
Username string `json:"username"`
// Phone numbers associated with this SIP trunk
Numbers []string `json:"numbers"`
}
SIP trunk information
type SRTCredentials ΒΆ
type SRTCredentials struct {
Address string
}
type SRTIngress ΒΆ
type SRTIngress struct {
Address string `json:"address"`
}
type ScreensharingSettings ΒΆ
type ScreensharingSettings struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
Enabled bool `json:"enabled"`
TargetResolution *TargetResolution `json:"target_resolution,omitempty"`
}
type ScreensharingSettingsRequest ΒΆ
type ScreensharingSettingsRequest struct {
AccessRequestEnabled *bool `json:"access_request_enabled,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
TargetResolution *TargetResolution `json:"target_resolution,omitempty"`
}
type ScreensharingSettingsResponse ΒΆ
type ScreensharingSettingsResponse struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
Enabled bool `json:"enabled"`
TargetResolution *TargetResolution `json:"target_resolution,omitempty"`
}
type SearchPayload ΒΆ
type SearchPayload struct {
// Channel filter conditions
FilterConditions map[string]any `json:"filter_conditions"`
ForceDefaultSearch *bool `json:"force_default_search,omitempty"`
ForceSqlV2Backend *bool `json:"force_sql_v2_backend,omitempty"`
// Number of messages to return
Limit *int `json:"limit,omitempty"`
// Pagination parameter. Cannot be used with non-zero offset.
Next *string `json:"next,omitempty"`
// Pagination offset. Cannot be used with sort or next.
Offset *int `json:"offset,omitempty"`
// Search phrase
Query *string `json:"query,omitempty"`
// Sort parameters. Cannot be used with non-zero offset
Sort []SortParamRequest `json:"sort,omitempty"`
// Message filter conditions
MessageFilterConditions map[string]any `json:"message_filter_conditions,omitempty"`
MessageOptions *MessageOptions `json:"message_options,omitempty"`
}
type SearchRequest ΒΆ
type SearchRequest struct {
Payload *SearchPayload `json:"-" query:"payload"`
}
type SearchResponse ΒΆ
type SearchResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// Search results
Results []SearchResult `json:"results"`
// Value to pass to the next search query in order to paginate
Next *string `json:"next,omitempty"`
// Value that points to the previous page. Pass as the next value in a search query to paginate backwards
Previous *string `json:"previous,omitempty"`
ResultsWarning *SearchWarning `json:"results_warning,omitempty"`
}
type SearchResult ΒΆ
type SearchResult struct {
Message *SearchResultMessage `json:"message,omitempty"`
}
type SearchResultMessage ΒΆ
type SearchResultMessage struct {
Cid string `json:"cid"`
CreatedAt Timestamp `json:"created_at"`
DeletedReplyCount int `json:"deleted_reply_count"`
Html string `json:"html"`
ID string `json:"id"`
MentionedChannel bool `json:"mentioned_channel"`
MentionedHere bool `json:"mentioned_here"`
Pinned bool `json:"pinned"`
ReplyCount int `json:"reply_count"`
Shadowed bool `json:"shadowed"`
Silent bool `json:"silent"`
Text string `json:"text"`
UpdatedAt Timestamp `json:"updated_at"`
Type string `json:"type"`
Attachments []Attachment `json:"attachments"`
LatestReactions []ReactionResponse `json:"latest_reactions"`
MentionedUsers []UserResponse `json:"mentioned_users"`
OwnReactions []ReactionResponse `json:"own_reactions"`
RestrictedVisibility []string `json:"restricted_visibility"`
Custom map[string]any `json:"custom"`
ReactionCounts map[string]int `json:"reaction_counts"`
ReactionScores map[string]int `json:"reaction_scores"`
User UserResponse `json:"user"`
Command *string `json:"command,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
DeletedForMe *bool `json:"deleted_for_me,omitempty"`
MessageTextUpdatedAt *Timestamp `json:"message_text_updated_at,omitempty"`
Mml *string `json:"mml,omitempty"`
ParentID *string `json:"parent_id,omitempty"`
PinExpires *Timestamp `json:"pin_expires,omitempty"`
PinnedAt *Timestamp `json:"pinned_at,omitempty"`
PollID *string `json:"poll_id,omitempty"`
QuotedMessageID *string `json:"quoted_message_id,omitempty"`
ShowInChannel *bool `json:"show_in_channel,omitempty"`
MentionedRoles []string `json:"mentioned_roles,omitempty"`
ThreadParticipants []UserResponse `json:"thread_participants,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
I18n map[string]string `json:"i18n,omitempty"`
ImageLabels map[string][]string `json:"image_labels,omitempty"`
Member *ChannelMemberResponse `json:"member,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
PinnedBy *UserResponse `json:"pinned_by,omitempty"`
Poll *PollResponseData `json:"poll,omitempty"`
QuotedMessage *MessageResponse `json:"quoted_message,omitempty"`
ReactionGroups map[string]*ReactionGroupResponse `json:"reaction_groups,omitempty"`
Reminder *ReminderResponseData `json:"reminder,omitempty"`
}
type SearchUserGroupsResponse ΒΆ
type SearchUserGroupsResponse struct {
Duration string `json:"duration"`
// List of matching user groups
UserGroups []UserGroupResponse `json:"user_groups"`
}
Response for searching user groups
type SearchWarning ΒΆ
type SearchWarning struct {
// Code corresponding to the warning
WarningCode int `json:"warning_code"`
// Description of the warning
WarningDescription string `json:"warning_description"`
// Number of channels searched
ChannelSearchCount *int `json:"channel_search_count,omitempty"`
// Channel CIDs for the searched channels
ChannelSearchCids []string `json:"channel_search_cids,omitempty"`
}
type Segment ΒΆ
type Segment struct {
AllSenderChannels bool `json:"all_sender_channels"`
AllUsers bool `json:"all_users"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Name string `json:"name"`
Size int `json:"size"`
UpdatedAt Timestamp `json:"updated_at"`
Type string `json:"type"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Description *string `json:"description,omitempty"`
TaskID *string `json:"task_id,omitempty"`
Filter map[string]any `json:"filter,omitempty"`
}
type SegmentResponse ΒΆ
type SegmentResponse struct {
AllSenderChannels bool `json:"all_sender_channels"`
AllUsers bool `json:"all_users"`
CreatedAt Timestamp `json:"created_at"`
DeletedAt Timestamp `json:"deleted_at"`
Description string `json:"description"`
ID string `json:"id"`
Name string `json:"name"`
Size int `json:"size"`
UpdatedAt Timestamp `json:"updated_at"`
Type string `json:"type"`
Filter map[string]any `json:"filter"`
}
type SegmentTargetExistsRequest ΒΆ
type SegmentTargetExistsRequest struct {
}
type SegmentTargetResponse ΒΆ
type SendCallEventRequest ΒΆ
type SendCallEventRequest struct {
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type SendCallEventResponse ΒΆ
type SendCallEventResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
type SendClosedCaptionRequest ΒΆ
type SendClosedCaptionRequest struct {
SpeakerID string `json:"speaker_id"`
Text string `json:"text"`
EndTime *Timestamp `json:"end_time"`
Language *string `json:"language"`
Service *string `json:"service"`
StartTime *Timestamp `json:"start_time"`
Translated *bool `json:"translated"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type SendClosedCaptionResponse ΒΆ
type SendClosedCaptionResponse struct {
Duration string `json:"duration"`
}
type SendEventRequest ΒΆ
type SendEventRequest struct {
Event EventRequest `json:"event"`
}
type SendMessageRequest ΒΆ
type SendMessageRequest struct {
Message MessageRequest `json:"message"`
ForceModeration *bool `json:"force_moderation"`
KeepChannelHidden *bool `json:"keep_channel_hidden"`
Pending *bool `json:"pending"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
SkipPush *bool `json:"skip_push"`
PendingMessageMetadata map[string]string `json:"pending_message_metadata"`
}
type SendMessageResponse ΒΆ
type SendMessageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
// Pending message metadata
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`
}
type SendReactionRequest ΒΆ
type SendReactionRequest struct {
Reaction ReactionRequest `json:"reaction"`
EnforceUnique *bool `json:"enforce_unique"`
SkipPush *bool `json:"skip_push"`
}
type SendReactionResponse ΒΆ
type SendReactionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
Reaction ReactionResponse `json:"reaction"`
}
Basic response information
type SendUserCustomEventRequest ΒΆ
type SendUserCustomEventRequest struct {
Event UserCustomEventRequest `json:"event"`
}
type SessionClient ΒΆ
type SessionClient struct {
Ip *string `json:"ip,omitempty"`
Name *string `json:"name,omitempty"`
NetworkType *string `json:"network_type,omitempty"`
Version *string `json:"version,omitempty"`
Location *CallStatsLocation `json:"location,omitempty"`
}
type SessionSettings ΒΆ
type SessionSettings struct {
InactivityTimeoutSeconds int `json:"inactivity_timeout_seconds"`
}
type SessionSettingsRequest ΒΆ
type SessionSettingsRequest struct {
InactivityTimeoutSeconds int `json:"inactivity_timeout_seconds"`
}
type SessionSettingsResponse ΒΆ
type SessionSettingsResponse struct {
InactivityTimeoutSeconds int `json:"inactivity_timeout_seconds"`
}
type SessionWarningResponse ΒΆ
type ShadowBlockActionRequestPayload ΒΆ
type ShadowBlockActionRequestPayload struct {
// Reason for shadow blocking
Reason *string `json:"reason,omitempty"`
}
Configuration for shadow block action
type SharedLocation ΒΆ
type SharedLocation struct {
}
type SharedLocationResponse ΒΆ
type SharedLocationResponse struct {
ChannelCid string `json:"channel_cid"`
CreatedAt Timestamp `json:"created_at"`
// Device ID that created the live location
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
MessageID string `json:"message_id"`
UpdatedAt Timestamp `json:"updated_at"`
UserID string `json:"user_id"`
// Time when the live location expires
}
type SharedLocationResponseData ΒΆ
type SharedLocationResponseData struct {
}
type SharedLocationsResponse ΒΆ
type SharedLocationsResponse struct {
}
type ShowChannelRequest ΒΆ
type ShowChannelRequest struct {
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type ShowChannelResponse ΒΆ
type ShowChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type SingleFollowResponse ΒΆ
type SingleFollowResponse struct {
Duration string `json:"duration"`
Follow FollowResponse `json:"follow"`
// Whether a notification activity was successfully created
NotificationCreated *bool `json:"notification_created,omitempty"`
}
type SipInboundCredentials ΒΆ
type SipInboundCredentials struct {
// API key for the application
APIKey string `json:"api_key"`
// ID of the call
CallID string `json:"call_id"`
// Type of the call
CallType string `json:"call_type"`
// Authentication token for the call
Token string `json:"token"`
// User ID for the call
UserID string `json:"user_id"`
// Custom data associated with the call
CallCustomData map[string]any `json:"call_custom_data"`
// Custom data associated with the user
UserCustomData map[string]any `json:"user_custom_data"`
}
Credentials for SIP inbound call authentication
type SortParamRequest ΒΆ
type SortParamRequest struct {
// Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1
Direction *int `json:"direction,omitempty"`
// Name of field to sort by
Field *string `json:"field,omitempty"`
// Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean
Type *string `json:"type,omitempty"`
}
type SpeechSegmentConfig ΒΆ
type StartCampaignRequest ΒΆ
type StartCampaignResponse ΒΆ
type StartCampaignResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Campaign *CampaignResponse `json:"campaign,omitempty"`
Users *PagerResponse `json:"users,omitempty"`
}
Basic response information
type StartClosedCaptionsRequest ΒΆ
type StartClosedCaptionsRequest struct {
EnableTranscription *bool `json:"enable_transcription"`
ExternalStorage *string `json:"external_storage"`
Language *string `json:"language"`
SpeechSegmentConfig *SpeechSegmentConfig `json:"speech_segment_config"`
}
type StartClosedCaptionsResponse ΒΆ
type StartClosedCaptionsResponse struct {
Duration string `json:"duration"`
}
type StartFrameRecordingRequest ΒΆ
type StartFrameRecordingRequest struct {
RecordingExternalStorage *string `json:"recording_external_storage"`
}
type StartFrameRecordingResponse ΒΆ
type StartFrameRecordingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
StartFrameRecordingResponse is the response payload for the start frame recording endpoint.
type StartHLSBroadcastingRequest ΒΆ
type StartHLSBroadcastingRequest struct {
}
type StartHLSBroadcastingResponse ΒΆ
type StartHLSBroadcastingResponse struct {
Duration string `json:"duration"`
// the URL of the HLS playlist
PlaylistUrl string `json:"playlist_url"`
}
StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting.
type StartRTMPBroadcastsRequest ΒΆ
type StartRTMPBroadcastsRequest struct {
Broadcasts []RTMPBroadcastRequest `json:"broadcasts"`
}
type StartRTMPBroadcastsResponse ΒΆ
type StartRTMPBroadcastsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast.
type StartRecordingRequest ΒΆ
type StartRecordingRequest struct {
RecordingExternalStorage *string `json:"recording_external_storage"`
}
type StartRecordingResponse ΒΆ
type StartRecordingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
StartRecordingResponse is the response payload for the start recording endpoint.
type StartTranscriptionResponse ΒΆ
type StartTranscriptionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
type StopAllRTMPBroadcastsRequest ΒΆ
type StopAllRTMPBroadcastsRequest struct {
}
type StopAllRTMPBroadcastsResponse ΒΆ
type StopAllRTMPBroadcastsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
type StopCampaignRequest ΒΆ
type StopCampaignRequest struct {
}
type StopClosedCaptionsRequest ΒΆ
type StopClosedCaptionsRequest struct {
StopTranscription *bool `json:"stop_transcription"`
}
type StopClosedCaptionsResponse ΒΆ
type StopClosedCaptionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StopFrameRecordingRequest ΒΆ
type StopFrameRecordingRequest struct {
}
type StopFrameRecordingResponse ΒΆ
type StopFrameRecordingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StopHLSBroadcastingRequest ΒΆ
type StopHLSBroadcastingRequest struct {
}
type StopHLSBroadcastingResponse ΒΆ
type StopHLSBroadcastingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StopLiveRequest ΒΆ
type StopLiveRequest struct {
ContinueClosedCaption *bool `json:"continue_closed_caption"`
ContinueCompositeRecording *bool `json:"continue_composite_recording"`
ContinueHLS *bool `json:"continue_hls"`
ContinueIndividualRecording *bool `json:"continue_individual_recording"`
ContinueRTMPBroadcasts *bool `json:"continue_rtmp_broadcasts"`
ContinueRawRecording *bool `json:"continue_raw_recording"`
ContinueRecording *bool `json:"continue_recording"`
ContinueTranscription *bool `json:"continue_transcription"`
}
type StopLiveResponse ΒΆ
type StopLiveResponse struct {
Duration string `json:"duration"`
Call CallResponse `json:"call"`
}
type StopRTMPBroadcastRequest ΒΆ
type StopRTMPBroadcastRequest struct {
}
type StopRTMPBroadcastsRequest ΒΆ
type StopRTMPBroadcastsRequest struct {
}
Request for stopping RTMP broadcasts
type StopRTMPBroadcastsResponse ΒΆ
type StopRTMPBroadcastsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StopRecordingRequest ΒΆ
type StopRecordingRequest struct {
}
type StopRecordingResponse ΒΆ
type StopRecordingResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StopTranscriptionRequest ΒΆ
type StopTranscriptionRequest struct {
StopClosedCaptions *bool `json:"stop_closed_captions"`
}
type StopTranscriptionResponse ΒΆ
type StopTranscriptionResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type StoriesConfig ΒΆ
type StoriesFeedUpdatedEvent ΒΆ
type StoriesFeedUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The ID of the feed
Fid string `json:"fid"`
Custom map[string]any `json:"custom"`
// The type of event: "feeds.stories_feed.updated" in this case
Type string `json:"type"`
FeedVisibility *string `json:"feed_visibility,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Individual activities for stories feeds
Activities []ActivityResponse `json:"activities,omitempty"`
// Aggregated activities for stories feeds
AggregatedActivities []AggregatedActivityResponse `json:"aggregated_activities,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
}
Emitted when stories feed is updated.
func (*StoriesFeedUpdatedEvent) GetEventType ΒΆ
func (e *StoriesFeedUpdatedEvent) GetEventType() string
type Stream ΒΆ
type Stream struct {
*Client
// contains filtered or unexported fields
}
func NewClient ΒΆ
func NewClient(apiKey, apiSecret string, options ...ClientOption) (*Stream, error)
func NewClientFromEnvVars ΒΆ
func NewClientFromEnvVars(options ...ClientOption) (*Stream, error)
func (*Stream) Chat ΒΆ
func (s *Stream) Chat() *ChatClient
func (*Stream) CreateToken ΒΆ
func (s *Stream) CreateToken(userID string, opts ...TokenOption) (string, error)
CreateToken generates a token for a given user ID, with optional claims.
Parameters: - userID (string): The unique identifier of the user for whom the token is being created. - claims (*Claims): A pointer to a Claims struct containing optional parameters.
Returns: - (string): The generated JWT token. - (error): An error object if token creation fails.
token, err := client.CreateToken("userID", getstream.WithExpiration(time.Hour))
func (*Stream) Video ΒΆ
func (s *Stream) Video() *VideoClient
type StreamError ΒΆ
type StreamError struct {
Code int `json:"code"`
Message string `json:"message"`
ExceptionFields map[string]string `json:"exception_fields,omitempty"`
StatusCode int `json:"StatusCode"`
Duration string `json:"duration"`
MoreInfo string `json:"more_info"`
RateLimit *RateLimitInfo `json:"-"`
}
Error represents an API error
func (StreamError) Error ΒΆ
func (e StreamError) Error() string
type StreamResponse ΒΆ
type StreamResponse[T any] struct { RateLimitInfo *RateLimitInfo `json:"ratelimit"` Data T }
Response is the base response returned to the client
type SubmitActionRequest ΒΆ
type SubmitActionRequest struct {
ActionType string `json:"action_type"`
AppealID *string `json:"appeal_id"`
ItemID *string `json:"item_id"`
UserID *string `json:"user_id"`
Ban *BanActionRequestPayload `json:"ban"`
Block *BlockActionRequestPayload `json:"block"`
Custom *CustomActionRequestPayload `json:"custom"`
DeleteActivity *DeleteActivityRequestPayload `json:"delete_activity"`
DeleteComment *DeleteCommentRequestPayload `json:"delete_comment"`
DeleteMessage *DeleteMessageRequestPayload `json:"delete_message"`
DeleteReaction *DeleteReactionRequestPayload `json:"delete_reaction"`
DeleteUser *DeleteUserRequestPayload `json:"delete_user"`
Flag *FlagRequest `json:"flag"`
MarkReviewed *MarkReviewedRequestPayload `json:"mark_reviewed"`
RejectAppeal *RejectAppealRequestPayload `json:"reject_appeal"`
Restore *RestoreActionRequestPayload `json:"restore"`
ShadowBlock *ShadowBlockActionRequestPayload `json:"shadow_block"`
Unban *UnbanActionRequestPayload `json:"unban"`
Unblock *UnblockActionRequestPayload `json:"unblock"`
User *UserRequest `json:"user"`
}
type SubmitActionResponse ΒΆ
type SubmitActionResponse struct {
Duration string `json:"duration"`
AppealItem *AppealItemResponse `json:"appeal_item,omitempty"`
Item *ReviewQueueItemResponse `json:"item,omitempty"`
}
type SubscriberAllMetrics ΒΆ
type SubscriberAllMetrics struct {
Audio *SubscriberAudioMetrics `json:"audio,omitempty"`
RttMs *ActiveCallsLatencyStats `json:"rtt_ms,omitempty"`
Video *SubscriberVideoMetrics `json:"video,omitempty"`
}
type SubscriberAudioMetrics ΒΆ
type SubscriberAudioMetrics struct {
ConcealmentPct *ActiveCallsLatencyStats `json:"concealment_pct,omitempty"`
JitterMs *ActiveCallsLatencyStats `json:"jitter_ms,omitempty"`
PacketsLostPct *ActiveCallsLatencyStats `json:"packets_lost_pct,omitempty"`
}
type SubscriberVideoMetrics ΒΆ
type SubscriberVideoMetrics struct {
Fps30 *ActiveCallsFPSStats `json:"fps_30,omitempty"`
JitterMs *ActiveCallsLatencyStats `json:"jitter_ms,omitempty"`
PacketsLostPct *ActiveCallsLatencyStats `json:"packets_lost_pct,omitempty"`
}
type SubscribersMetrics ΒΆ
type SubscribersMetrics struct {
All *SubscriberAllMetrics `json:"all,omitempty"`
}
type TargetResolution ΒΆ
type TeamUsageStats ΒΆ
type TeamUsageStats struct {
// Team identifier (empty string for users not assigned to any team)
Team string `json:"team"`
ConcurrentConnections MetricStats `json:"concurrent_connections"`
ConcurrentUsers MetricStats `json:"concurrent_users"`
ImageModerationsDaily MetricStats `json:"image_moderations_daily"`
MessagesDaily MetricStats `json:"messages_daily"`
MessagesLast24Hours MetricStats `json:"messages_last_24_hours"`
MessagesLast30Days MetricStats `json:"messages_last_30_days"`
MessagesMonthToDate MetricStats `json:"messages_month_to_date"`
MessagesTotal MetricStats `json:"messages_total"`
TranslationsDaily MetricStats `json:"translations_daily"`
UsersDaily MetricStats `json:"users_daily"`
UsersEngagedLast30Days MetricStats `json:"users_engaged_last_30_days"`
UsersEngagedMonthToDate MetricStats `json:"users_engaged_month_to_date"`
UsersLast24Hours MetricStats `json:"users_last_24_hours"`
UsersLast30Days MetricStats `json:"users_last_30_days"`
UsersMonthToDate MetricStats `json:"users_month_to_date"`
UsersTotal MetricStats `json:"users_total"`
}
Usage statistics for a single team containing all 16 metrics
type TextContentParameters ΒΆ
type TextContentParameters struct {
ContainsUrl *bool `json:"contains_url,omitempty"`
Severity *string `json:"severity,omitempty"`
BlocklistMatch []string `json:"blocklist_match,omitempty"`
HarmLabels []string `json:"harm_labels,omitempty"`
LlmHarmLabels map[string]string `json:"llm_harm_labels,omitempty"`
}
type TextRuleParameters ΒΆ
type TextRuleParameters struct {
ContainsUrl *bool `json:"contains_url,omitempty"`
SemanticFilterMinThreshold *float64 `json:"semantic_filter_min_threshold,omitempty"`
Severity *string `json:"severity,omitempty"`
Threshold *int `json:"threshold,omitempty"`
TimeWindow *string `json:"time_window,omitempty"`
BlocklistMatch []string `json:"blocklist_match,omitempty"`
HarmLabels []string `json:"harm_labels,omitempty"`
SemanticFilterNames []string `json:"semantic_filter_names,omitempty"`
LlmHarmLabels map[string]string `json:"llm_harm_labels,omitempty"`
}
type ThreadParticipant ΒΆ
type ThreadParticipant struct {
AppPk int `json:"app_pk"`
ChannelCid string `json:"channel_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
LastReadAt Timestamp `json:"last_read_at"`
Custom map[string]any `json:"custom"`
LastThreadMessageAt *Timestamp `json:"last_thread_message_at,omitempty"`
// Left Thread At is the time when the user left the thread
LeftThreadAt *Timestamp `json:"left_thread_at,omitempty"`
// Thead ID is unique string identifier of the thread
ThreadID *string `json:"thread_id,omitempty"`
// User ID is unique string identifier of the user
UserID *string `json:"user_id,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
Represents a user that is participating in a thread.
type ThreadResponse ΒΆ
type ThreadResponse struct {
// Active Participant Count
ActiveParticipantCount int `json:"active_participant_count"`
// Channel CID
ChannelCid string `json:"channel_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Created By User ID
CreatedByUserID string `json:"created_by_user_id"`
// Parent Message ID
ParentMessageID string `json:"parent_message_id"`
// Participant Count
ParticipantCount int `json:"participant_count"`
// Title
Title string `json:"title"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
// Custom data for this object
Custom map[string]any `json:"custom"`
// Deleted At
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Last Message At
LastMessageAt *Timestamp `json:"last_message_at,omitempty"`
// Reply Count
ReplyCount *int `json:"reply_count,omitempty"`
// Thread Participants
ThreadParticipants []ThreadParticipant `json:"thread_participants,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
ParentMessage *MessageResponse `json:"parent_message,omitempty"`
}
type ThreadStateResponse ΒΆ
type ThreadStateResponse struct {
// Active Participant Count
ActiveParticipantCount int `json:"active_participant_count"`
// Channel CID
ChannelCid string `json:"channel_cid"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Created By User ID
CreatedByUserID string `json:"created_by_user_id"`
// Parent Message ID
ParentMessageID string `json:"parent_message_id"`
// Participant Count
ParticipantCount int `json:"participant_count"`
// Title
Title string `json:"title"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
LatestReplies []MessageResponse `json:"latest_replies"`
// Custom data for this object
Custom map[string]any `json:"custom"`
// Deleted At
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
// Last Message At
LastMessageAt *Timestamp `json:"last_message_at,omitempty"`
// Reply Count
ReplyCount *int `json:"reply_count,omitempty"`
Read []ReadStateResponse `json:"read,omitempty"`
// Thread Participants
ThreadParticipants []ThreadParticipant `json:"thread_participants,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
Draft *DraftResponse `json:"draft,omitempty"`
ParentMessage *MessageResponse `json:"parent_message,omitempty"`
}
type ThreadUpdatedEvent ΒΆ
type ThreadUpdatedEvent struct {
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
Type string `json:"type"`
ChannelID *string `json:"channel_id,omitempty"`
ChannelType *string `json:"channel_type,omitempty"`
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
Thread *ThreadResponse `json:"thread,omitempty"`
}
func (*ThreadUpdatedEvent) GetEventType ΒΆ
func (e *ThreadUpdatedEvent) GetEventType() string
type ThreadedCommentResponse ΒΆ
type ThreadedCommentResponse struct {
ConfidenceScore float64 `json:"confidence_score"`
CreatedAt Timestamp `json:"created_at"`
DownvoteCount int `json:"downvote_count"`
ID string `json:"id"`
ObjectID string `json:"object_id"`
ObjectType string `json:"object_type"`
ReactionCount int `json:"reaction_count"`
ReplyCount int `json:"reply_count"`
Score int `json:"score"`
// Status of the comment. One of: active, deleted, removed, hidden
Status string `json:"status"`
UpdatedAt Timestamp `json:"updated_at"`
UpvoteCount int `json:"upvote_count"`
MentionedUsers []UserResponse `json:"mentioned_users"`
OwnReactions []FeedsReactionResponse `json:"own_reactions"`
User UserResponse `json:"user"`
ControversyScore *float64 `json:"controversy_score,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
EditedAt *Timestamp `json:"edited_at,omitempty"`
ParentID *string `json:"parent_id,omitempty"`
Text *string `json:"text,omitempty"`
Attachments []Attachment `json:"attachments,omitempty"`
LatestReactions []FeedsReactionResponse `json:"latest_reactions,omitempty"`
// Slice of nested comments (may be empty).
Replies []ThreadedCommentResponse `json:"replies,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
Meta *RepliesMeta `json:"meta,omitempty"`
Moderation *ModerationV2Response `json:"moderation,omitempty"`
ReactionGroups map[string]FeedsReactionGroupResponse `json:"reaction_groups,omitempty"`
}
A comment with an optional, depthβlimited slice of nested replies.
type Thresholds ΒΆ
type Thresholds struct {
Explicit *LabelThresholds `json:"explicit,omitempty"`
Spam *LabelThresholds `json:"spam,omitempty"`
Toxic *LabelThresholds `json:"toxic,omitempty"`
}
Sets thresholds for AI moderation
type ThumbnailResponse ΒΆ
type ThumbnailResponse struct {
ImageUrl string `json:"image_url"`
}
type ThumbnailsSettings ΒΆ
type ThumbnailsSettings struct {
Enabled bool `json:"enabled"`
}
type ThumbnailsSettingsRequest ΒΆ
type ThumbnailsSettingsRequest struct {
Enabled *bool `json:"enabled,omitempty"`
}
type ThumbnailsSettingsResponse ΒΆ
type ThumbnailsSettingsResponse struct {
Enabled bool `json:"enabled"`
}
type TokenOption ΒΆ
type TokenOption func(*tokenOptions)
func WithClaims ΒΆ
func WithClaims(claims Claims) TokenOption
func WithExpiration ΒΆ
func WithExpiration(d time.Duration) TokenOption
type TrackStatsResponse ΒΆ
type TranscriptionSettings ΒΆ
type TranscriptionSettings struct {
// One of: available, disabled, auto-on
ClosedCaptionMode string `json:"closed_caption_mode"`
// The language used in this call as a two letter code
Language string `json:"language"`
Mode string `json:"mode"`
SpeechSegmentConfig *SpeechSegmentConfig `json:"speech_segment_config,omitempty"`
Translation *TranslationSettings `json:"translation,omitempty"`
}
type TranscriptionSettingsRequest ΒΆ
type TranscriptionSettingsRequest struct {
ClosedCaptionMode *string `json:"closed_caption_mode,omitempty"`
Language *string `json:"language,omitempty"`
Mode *string `json:"mode,omitempty"`
SpeechSegmentConfig *SpeechSegmentConfig `json:"speech_segment_config,omitempty"`
Translation *TranslationSettings `json:"translation,omitempty"`
}
type TranscriptionSettingsResponse ΒΆ
type TranscriptionSettingsResponse struct {
ClosedCaptionMode string `json:"closed_caption_mode"`
Language string `json:"language"`
Mode string `json:"mode"`
SpeechSegmentConfig *SpeechSegmentConfig `json:"speech_segment_config,omitempty"`
Translation *TranslationSettings `json:"translation,omitempty"`
}
type TranslateMessageRequest ΒΆ
type TranslateMessageRequest struct {
Language string `json:"language"`
}
type TranslationSettings ΒΆ
type TruncateChannelRequest ΒΆ
type TruncateChannelRequest struct {
HardDelete *bool `json:"hard_delete"`
SkipPush *bool `json:"skip_push"`
TruncatedAt *Timestamp `json:"truncated_at"`
UserID *string `json:"user_id"`
MemberIds []string `json:"member_ids"`
Message *MessageRequest `json:"message"`
User *UserRequest `json:"user"`
}
type TruncateChannelResponse ΒΆ
type TruncateChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Channel *ChannelResponse `json:"channel,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
}
type TypingIndicatorsResponse ΒΆ
type TypingIndicatorsResponse struct {
Enabled *bool `json:"enabled,omitempty"`
}
type UnbanActionRequestPayload ΒΆ
type UnbanActionRequestPayload struct {
// Channel CID for channel-specific unban
ChannelCid *string `json:"channel_cid,omitempty"`
// Reason for the appeal decision
DecisionReason *string `json:"decision_reason,omitempty"`
}
Configuration for unban moderation action
type UnbanRequest ΒΆ
type UnbanRequest struct {
TargetUserID string `json:"-" query:"target_user_id"`
ChannelCid *string `json:"-" query:"channel_cid"`
CreatedBy *string `json:"-" query:"created_by"`
UnbannedByID *string `json:"unbanned_by_id"`
UnbannedBy *UserRequest `json:"unbanned_by"`
}
type UnbanResponse ΒΆ
type UnbanResponse struct {
Duration string `json:"duration"`
}
type UnblockActionRequestPayload ΒΆ
type UnblockActionRequestPayload struct {
// Reason for the appeal decision
DecisionReason *string `json:"decision_reason,omitempty"`
}
Configuration for unblock action
type UnblockUserRequest ΒΆ
type UnblockUserRequest struct {
UserID string `json:"user_id"`
}
type UnblockUserResponse ΒΆ
type UnblockUserResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
UnblockUserResponse is the payload for unblocking a user.
type UnblockUsersRequest ΒΆ
type UnblockUsersRequest struct {
BlockedUserID string `json:"blocked_user_id"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type UnblockUsersResponse ΒΆ
type UnblockUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
type UnblockedUserEvent ΒΆ
type UnblockedUserEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
User UserResponse `json:"user"`
// The type of event: "call.unblocked_user" in this case
Type string `json:"type"`
}
This event is sent when a user is unblocked on a call, this can be useful to notify the user that they can now join the call again
func (*UnblockedUserEvent) GetEventType ΒΆ
func (e *UnblockedUserEvent) GetEventType() string
type UndeleteMessageRequest ΒΆ
type UndeleteMessageRequest struct {
UndeletedBy string `json:"undeleted_by"`
}
type UndeleteMessageResponse ΒΆ
type UndeleteMessageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
}
Basic response information
type UnfollowBatchRequest ΒΆ
type UnfollowBatchRequest struct {
Follows []FollowPair `json:"follows"`
DeleteNotificationActivity *bool `json:"delete_notification_activity"`
}
type UnfollowBatchResponse ΒΆ
type UnfollowBatchResponse struct {
Duration string `json:"duration"`
// List of follow relationships that were removed
Follows []FollowResponse `json:"follows"`
}
type UnfollowRequest ΒΆ
type UnfollowRequest struct {
DeleteNotificationActivity *bool `json:"-" query:"delete_notification_activity"`
}
type UnfollowResponse ΒΆ
type UnfollowResponse struct {
Duration string `json:"duration"`
Follow FollowResponse `json:"follow"`
}
type UnmuteChannelRequest ΒΆ
type UnmuteChannelRequest struct {
Expiration *int `json:"expiration"`
UserID *string `json:"user_id"`
ChannelCids []string `json:"channel_cids"`
User *UserRequest `json:"user"`
}
type UnmuteRequest ΒΆ
type UnmuteRequest struct {
TargetIds []string `json:"target_ids"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type UnmuteResponse ΒΆ
type UnpinActivityRequest ΒΆ
type UnpinActivityRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type UnpinActivityResponse ΒΆ
type UnpinActivityResponse struct {
Duration string `json:"duration"`
// Fully qualified ID of the feed the activity was unpinned from
Feed string `json:"feed"`
// ID of the user who unpinned the activity
UserID string `json:"user_id"`
Activity ActivityResponse `json:"activity"`
}
type UnpinRequest ΒΆ
type UnpinRequest struct {
// the session ID of the user who pinned the message
SessionID string `json:"session_id"`
// the user ID of the user who pinned the message
UserID string `json:"user_id"`
}
UnpinRequest is the payload for unpinning a message.
type UnpinResponse ΒΆ
type UnpinResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
UnpinResponse is the payload for unpinning a message.
type UnreadCountsBatchRequest ΒΆ
type UnreadCountsBatchRequest struct {
UserIds []string `json:"user_ids"`
}
type UnreadCountsBatchResponse ΒΆ
type UnreadCountsBatchResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
CountsByUser map[string]*UnreadCountsResponse `json:"counts_by_user"`
}
Basic response information
type UnreadCountsChannel ΒΆ
type UnreadCountsRequest ΒΆ
type UnreadCountsRequest struct {
UserID *string `json:"-" query:"user_id"`
}
type UnreadCountsResponse ΒΆ
type UnreadCountsResponse struct {
TotalUnreadCount int `json:"total_unread_count"`
TotalUnreadThreadsCount int `json:"total_unread_threads_count"`
ChannelType []UnreadCountsChannelType `json:"channel_type"`
Channels []UnreadCountsChannel `json:"channels"`
Threads []UnreadCountsThread `json:"threads"`
TotalUnreadCountByTeam map[string]int `json:"total_unread_count_by_team,omitempty"`
}
type UnreadCountsThread ΒΆ
type UpdateActivitiesPartialBatchRequest ΒΆ
type UpdateActivitiesPartialBatchRequest struct {
Changes []UpdateActivityPartialChangeRequest `json:"changes"`
}
type UpdateActivitiesPartialBatchResponse ΒΆ
type UpdateActivitiesPartialBatchResponse struct {
Duration string `json:"duration"`
// List of successfully updated activities
Activities []ActivityResponse `json:"activities"`
}
type UpdateActivityPartialChangeRequest ΒΆ
type UpdateActivityPartialChangeRequest struct {
// ID of the activity to update
ActivityID string `json:"activity_id"`
// Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications)
CopyCustomToNotification *bool `json:"copy_custom_to_notification,omitempty"`
// When true and 'mentioned_user_ids' is updated, automatically creates or deletes mention notifications for added/removed users. Only applicable for client-side requests (ignored for server-side requests)
HandleMentionNotifications *bool `json:"handle_mention_notifications,omitempty"`
// List of field names to remove. Supported fields: 'custom', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
Unset []string `json:"unset,omitempty"`
// Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'visibility_tag', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_user_ids'. For custom fields, use dot-notation (e.g., 'custom.field_name')
Set map[string]any `json:"set,omitempty"`
}
type UpdateActivityPartialRequest ΒΆ
type UpdateActivityPartialRequest struct {
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
HandleMentionNotifications *bool `json:"handle_mention_notifications"`
RunActivityProcessors *bool `json:"run_activity_processors"`
UserID *string `json:"user_id"`
Unset []string `json:"unset"`
Set map[string]any `json:"set"`
User *UserRequest `json:"user"`
}
type UpdateActivityPartialResponse ΒΆ
type UpdateActivityPartialResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
}
type UpdateActivityRequest ΒΆ
type UpdateActivityRequest struct {
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
ExpiresAt *Timestamp `json:"expires_at"`
HandleMentionNotifications *bool `json:"handle_mention_notifications"`
PollID *string `json:"poll_id"`
RestrictReplies *string `json:"restrict_replies"`
RunActivityProcessors *bool `json:"run_activity_processors"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
Text *string `json:"text"`
UserID *string `json:"user_id"`
Visibility *string `json:"visibility"`
VisibilityTag *string `json:"visibility_tag"`
Attachments []Attachment `json:"attachments"`
CollectionRefs []string `json:"collection_refs"`
Feeds []string `json:"feeds"`
FilterTags []string `json:"filter_tags"`
InterestTags []string `json:"interest_tags"`
MentionedUserIds []string `json:"mentioned_user_ids"`
Custom map[string]any `json:"custom"`
Location *ActivityLocation `json:"location"`
SearchData map[string]any `json:"search_data"`
User *UserRequest `json:"user"`
}
type UpdateActivityResponse ΒΆ
type UpdateActivityResponse struct {
Duration string `json:"duration"`
Activity ActivityResponse `json:"activity"`
}
type UpdateAppRequest ΒΆ
type UpdateAppRequest struct {
AsyncUrlEnrichEnabled *bool `json:"async_url_enrich_enabled"`
AutoTranslationEnabled *bool `json:"auto_translation_enabled"`
BeforeMessageSendHookUrl *string `json:"before_message_send_hook_url"`
CdnExpirationSeconds *int `json:"cdn_expiration_seconds"`
ChannelHideMembersOnly *bool `json:"channel_hide_members_only"`
CustomActionHandlerUrl *string `json:"custom_action_handler_url"`
DisableAuthChecks *bool `json:"disable_auth_checks"`
DisablePermissionsChecks *bool `json:"disable_permissions_checks"`
EnforceUniqueUsernames *string `json:"enforce_unique_usernames"`
FeedsModerationEnabled *bool `json:"feeds_moderation_enabled"`
FeedsV2Region *string `json:"feeds_v2_region"`
GuestUserCreationDisabled *bool `json:"guest_user_creation_disabled"`
ImageModerationEnabled *bool `json:"image_moderation_enabled"`
MaxAggregatedActivitiesLength *int `json:"max_aggregated_activities_length"`
MigratePermissionsToV2 *bool `json:"migrate_permissions_to_v2"`
ModerationAnalyticsEnabled *bool `json:"moderation_analytics_enabled"`
ModerationEnabled *bool `json:"moderation_enabled"`
ModerationWebhookUrl *string `json:"moderation_webhook_url"`
MultiTenantEnabled *bool `json:"multi_tenant_enabled"`
PermissionVersion *string `json:"permission_version"`
RemindersInterval *int `json:"reminders_interval"`
RemindersMaxMembers *int `json:"reminders_max_members"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before"`
SnsKey *string `json:"sns_key"`
SnsSecret *string `json:"sns_secret"`
SnsTopicArn *string `json:"sns_topic_arn"`
SqsKey *string `json:"sqs_key"`
SqsSecret *string `json:"sqs_secret"`
SqsUrl *string `json:"sqs_url"`
UserResponseTimeEnabled *bool `json:"user_response_time_enabled"`
WebhookUrl *string `json:"webhook_url"`
AllowedFlagReasons []string `json:"allowed_flag_reasons"`
EventHooks []EventHook `json:"event_hooks"`
ImageModerationBlockLabels []string `json:"image_moderation_block_labels"`
ImageModerationLabels []string `json:"image_moderation_labels"`
UserSearchDisallowedRoles []string `json:"user_search_disallowed_roles"`
WebhookEvents []string `json:"webhook_events"`
ApnConfig *APNConfig `json:"apn_config"`
AsyncModerationConfig *AsyncModerationConfiguration `json:"async_moderation_config"`
DatadogInfo *DataDogInfo `json:"datadog_info"`
FileUploadConfig *FileUploadConfig `json:"file_upload_config"`
FirebaseConfig *FirebaseConfig `json:"firebase_config"`
Grants map[string][]string `json:"grants"`
HuaweiConfig *HuaweiConfig `json:"huawei_config"`
ImageUploadConfig *FileUploadConfig `json:"image_upload_config"`
ModerationDashboardPreferences *ModerationDashboardPreferences `json:"moderation_dashboard_preferences"`
PushConfig *PushConfig `json:"push_config"`
XiaomiConfig *XiaomiConfig `json:"xiaomi_config"`
}
type UpdateBlockListRequest ΒΆ
type UpdateBlockListResponse ΒΆ
type UpdateBlockListResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Blocklist *BlockListResponse `json:"blocklist,omitempty"`
}
Basic response information
type UpdateBookmarkFolderRequest ΒΆ
type UpdateBookmarkFolderRequest struct {
Name *string `json:"name"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type UpdateBookmarkFolderResponse ΒΆ
type UpdateBookmarkFolderResponse struct {
Duration string `json:"duration"`
BookmarkFolder BookmarkFolderResponse `json:"bookmark_folder"`
}
type UpdateBookmarkRequest ΒΆ
type UpdateBookmarkRequest struct {
FolderID *string `json:"folder_id"`
NewFolderID *string `json:"new_folder_id"`
UserID *string `json:"user_id"`
Custom map[string]any `json:"custom"`
NewFolder *AddFolderRequest `json:"new_folder"`
User *UserRequest `json:"user"`
}
type UpdateBookmarkResponse ΒΆ
type UpdateBookmarkResponse struct {
Duration string `json:"duration"`
Bookmark BookmarkResponse `json:"bookmark"`
}
type UpdateCallMembersRequest ΒΆ
type UpdateCallMembersRequest struct {
RemoveMembers []string `json:"remove_members"`
UpdateMembers []MemberRequest `json:"update_members"`
}
type UpdateCallMembersResponse ΒΆ
type UpdateCallMembersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Members []MemberResponse `json:"members"`
}
Basic response information
type UpdateCallRequest ΒΆ
type UpdateCallRequest struct {
StartsAt *Timestamp `json:"starts_at"`
Custom map[string]any `json:"custom"`
SettingsOverride *CallSettingsRequest `json:"settings_override"`
}
type UpdateCallResponse ΒΆ
type UpdateCallResponse struct {
Duration string `json:"duration"`
Members []MemberResponse `json:"members"`
OwnCapabilities []OwnCapability `json:"own_capabilities"`
Call CallResponse `json:"call"`
}
Response for updating a call
type UpdateCallTypeRequest ΒΆ
type UpdateCallTypeRequest struct {
ExternalStorage *string `json:"external_storage"`
Grants map[string][]string `json:"grants"`
NotificationSettings *NotificationSettingsRequest `json:"notification_settings"`
Settings *CallSettingsRequest `json:"settings"`
}
type UpdateCallTypeResponse ΒΆ
type UpdateCallTypeResponse struct {
// the time the call type was created
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// the name of the call type
Name string `json:"name"`
// the time the call type was last updated
UpdatedAt Timestamp `json:"updated_at"`
// the permissions granted to each role
Grants map[string][]string `json:"grants"`
NotificationSettings NotificationSettingsResponse `json:"notification_settings"`
Settings CallSettingsResponse `json:"settings"`
// the external storage for the call type
ExternalStorage *string `json:"external_storage,omitempty"`
}
UpdateCallTypeResponse is the payload for updating a call type.
type UpdateChannelPartialRequest ΒΆ
type UpdateChannelPartialRequest struct {
UserID *string `json:"user_id"`
Unset []string `json:"unset"`
Set map[string]any `json:"set"`
User *UserRequest `json:"user"`
}
type UpdateChannelPartialResponse ΒΆ
type UpdateChannelPartialResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of updated members
Members []ChannelMemberResponse `json:"members"`
Channel *ChannelResponse `json:"channel,omitempty"`
}
type UpdateChannelRequest ΒΆ
type UpdateChannelRequest struct {
AcceptInvite *bool `json:"accept_invite"`
Cooldown *int `json:"cooldown"`
HideHistory *bool `json:"hide_history"`
HideHistoryBefore *Timestamp `json:"hide_history_before"`
RejectInvite *bool `json:"reject_invite"`
SkipPush *bool `json:"skip_push"`
UserID *string `json:"user_id"`
AddFilterTags []string `json:"add_filter_tags"`
AddMembers []ChannelMemberRequest `json:"add_members"`
AddModerators []string `json:"add_moderators"`
AssignRoles []ChannelMemberRequest `json:"assign_roles"`
DemoteModerators []string `json:"demote_moderators"`
Invites []ChannelMemberRequest `json:"invites"`
RemoveFilterTags []string `json:"remove_filter_tags"`
RemoveMembers []string `json:"remove_members"`
Data *ChannelInputRequest `json:"data"`
Message *MessageRequest `json:"message"`
User *UserRequest `json:"user"`
}
type UpdateChannelResponse ΒΆ
type UpdateChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// List of channel members
Members []ChannelMemberResponse `json:"members"`
Channel *ChannelResponse `json:"channel,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
}
type UpdateChannelTypeRequest ΒΆ
type UpdateChannelTypeRequest struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
MaxMessageLength int `json:"max_message_length"`
Blocklist *string `json:"blocklist"`
BlocklistBehavior *string `json:"blocklist_behavior"`
ConnectEvents *bool `json:"connect_events"`
CountMessages *bool `json:"count_messages"`
CustomEvents *bool `json:"custom_events"`
DeliveryEvents *bool `json:"delivery_events"`
MarkMessagesPending *bool `json:"mark_messages_pending"`
Mutes *bool `json:"mutes"`
PartitionSize *int `json:"partition_size"`
PartitionTtl *string `json:"partition_ttl"`
Polls *bool `json:"polls"`
PushLevel *string `json:"push_level"`
PushNotifications *bool `json:"push_notifications"`
Quotes *bool `json:"quotes"`
Reactions *bool `json:"reactions"`
ReadEvents *bool `json:"read_events"`
Reminders *bool `json:"reminders"`
Replies *bool `json:"replies"`
Search *bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs *bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents *bool `json:"typing_events"`
Uploads *bool `json:"uploads"`
UrlEnrichment *bool `json:"url_enrichment"`
UserMessageReminders *bool `json:"user_message_reminders"`
AllowedFlagReasons []string `json:"allowed_flag_reasons"`
Blocklists []BlockListOptions `json:"blocklists"`
Commands []string `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
AutomodThresholds *Thresholds `json:"automod_thresholds"`
Grants map[string][]string `json:"grants"`
}
type UpdateChannelTypeResponse ΒΆ
type UpdateChannelTypeResponse struct {
Automod string `json:"automod"`
AutomodBehavior string `json:"automod_behavior"`
ConnectEvents bool `json:"connect_events"`
CountMessages bool `json:"count_messages"`
CreatedAt Timestamp `json:"created_at"`
CustomEvents bool `json:"custom_events"`
DeliveryEvents bool `json:"delivery_events"`
Duration string `json:"duration"`
MarkMessagesPending bool `json:"mark_messages_pending"`
MaxMessageLength int `json:"max_message_length"`
Mutes bool `json:"mutes"`
Name string `json:"name"`
Polls bool `json:"polls"`
PushNotifications bool `json:"push_notifications"`
Quotes bool `json:"quotes"`
Reactions bool `json:"reactions"`
ReadEvents bool `json:"read_events"`
Reminders bool `json:"reminders"`
Replies bool `json:"replies"`
Search bool `json:"search"`
SkipLastMsgUpdateForSystemMsgs bool `json:"skip_last_msg_update_for_system_msgs"`
TypingEvents bool `json:"typing_events"`
UpdatedAt Timestamp `json:"updated_at"`
Uploads bool `json:"uploads"`
UrlEnrichment bool `json:"url_enrichment"`
UserMessageReminders bool `json:"user_message_reminders"`
Commands []string `json:"commands"`
Permissions []PolicyRequest `json:"permissions"`
Grants map[string][]string `json:"grants"`
Blocklist *string `json:"blocklist,omitempty"`
BlocklistBehavior *string `json:"blocklist_behavior,omitempty"`
PartitionSize *int `json:"partition_size,omitempty"`
PartitionTtl *string `json:"partition_ttl,omitempty"`
PushLevel *string `json:"push_level,omitempty"`
AllowedFlagReasons []string `json:"allowed_flag_reasons,omitempty"`
Blocklists []BlockListOptions `json:"blocklists,omitempty"`
AutomodThresholds *Thresholds `json:"automod_thresholds,omitempty"`
}
type UpdateCollectionsRequest ΒΆ
type UpdateCollectionsRequest struct {
Collections []UpdateCollectionRequest `json:"collections"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type UpdateCollectionsResponse ΒΆ
type UpdateCollectionsResponse struct {
Duration string `json:"duration"`
// List of updated collections
Collections []CollectionResponse `json:"collections"`
}
type UpdateCommandRequest ΒΆ
type UpdateCommandResponse ΒΆ
type UpdateCommentRequest ΒΆ
type UpdateCommentRequest struct {
Comment *string `json:"comment"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
HandleMentionNotifications *bool `json:"handle_mention_notifications"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
SkipPush *bool `json:"skip_push"`
UserID *string `json:"user_id"`
Attachments []Attachment `json:"attachments"`
MentionedUserIds []string `json:"mentioned_user_ids"`
Custom map[string]any `json:"custom"`
User *UserRequest `json:"user"`
}
type UpdateCommentResponse ΒΆ
type UpdateCommentResponse struct {
Duration string `json:"duration"`
Comment CommentResponse `json:"comment"`
}
type UpdateExternalStorageResponse ΒΆ
type UpdateExternalStorageResponse struct {
Bucket string `json:"bucket"`
// Duration of the request in milliseconds
Duration string `json:"duration"`
Name string `json:"name"`
Path string `json:"path"`
Type string `json:"type"`
}
Basic response information
type UpdateFeedGroupRequest ΒΆ
type UpdateFeedGroupRequest struct {
DefaultVisibility *string `json:"default_visibility"`
ActivityProcessors []ActivityProcessorConfig `json:"activity_processors"`
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Custom map[string]any `json:"custom"`
Notification *NotificationConfig `json:"notification"`
PushNotification *PushNotificationConfig `json:"push_notification"`
Ranking *RankingConfig `json:"ranking"`
Stories *StoriesConfig `json:"stories"`
}
type UpdateFeedGroupResponse ΒΆ
type UpdateFeedGroupResponse struct {
Duration string `json:"duration"`
FeedGroup FeedGroupResponse `json:"feed_group"`
}
type UpdateFeedMembersRequest ΒΆ
type UpdateFeedMembersRequest struct {
Operation string `json:"operation"`
Limit *int `json:"limit"`
Next *string `json:"next"`
Prev *string `json:"prev"`
Members []FeedMemberRequest `json:"members"`
}
type UpdateFeedMembersResponse ΒΆ
type UpdateFeedMembersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Added []FeedMemberResponse `json:"added"`
RemovedIds []string `json:"removed_ids"`
Updated []FeedMemberResponse `json:"updated"`
}
Basic response information
type UpdateFeedRequest ΒΆ
type UpdateFeedResponse ΒΆ
type UpdateFeedResponse struct {
Duration string `json:"duration"`
Feed FeedResponse `json:"feed"`
}
type UpdateFeedViewRequest ΒΆ
type UpdateFeedViewRequest struct {
ActivitySelectors []ActivitySelectorConfig `json:"activity_selectors"`
Aggregation *AggregationConfig `json:"aggregation"`
Ranking *RankingConfig `json:"ranking"`
}
type UpdateFeedViewResponse ΒΆ
type UpdateFeedViewResponse struct {
Duration string `json:"duration"`
FeedView FeedViewResponse `json:"feed_view"`
}
type UpdateFeedVisibilityResponse ΒΆ
type UpdateFeedVisibilityResponse struct {
Duration string `json:"duration"`
FeedVisibility FeedVisibilityResponse `json:"feed_visibility"`
}
type UpdateFollowRequest ΒΆ
type UpdateFollowRequest struct {
Source string `json:"source"`
Target string `json:"target"`
CopyCustomToNotification *bool `json:"copy_custom_to_notification"`
CreateNotificationActivity *bool `json:"create_notification_activity"`
FollowerRole *string `json:"follower_role"`
PushPreference *string `json:"push_preference"`
SkipPush *bool `json:"skip_push"`
Status *string `json:"status"`
Custom map[string]any `json:"custom"`
}
type UpdateFollowResponse ΒΆ
type UpdateFollowResponse struct {
Duration string `json:"duration"`
Follow FollowResponse `json:"follow"`
}
type UpdateMemberPartialResponse ΒΆ
type UpdateMemberPartialResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
ChannelMember *ChannelMemberResponse `json:"channel_member,omitempty"`
}
type UpdateMembershipLevelResponse ΒΆ
type UpdateMembershipLevelResponse struct {
Duration string `json:"duration"`
MembershipLevel MembershipLevelResponse `json:"membership_level"`
}
type UpdateMessagePartialResponse ΒΆ
type UpdateMessagePartialResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message *MessageResponse `json:"message,omitempty"`
// Pending message metadata
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`
}
type UpdateMessageRequest ΒΆ
type UpdateMessageRequest struct {
Message MessageRequest `json:"message"`
SkipEnrichUrl *bool `json:"skip_enrich_url"`
SkipPush *bool `json:"skip_push"`
}
type UpdateMessageResponse ΒΆ
type UpdateMessageResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Message MessageResponse `json:"message"`
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`
}
Basic response information
type UpdatePollPartialRequest ΒΆ
type UpdatePollPartialRequest struct {
UserID *string `json:"user_id"`
Unset []string `json:"unset"`
Set map[string]any `json:"set"`
User *UserRequest `json:"user"`
}
type UpdatePollRequest ΒΆ
type UpdatePollRequest struct {
ID string `json:"id"`
Name string `json:"name"`
AllowAnswers *bool `json:"allow_answers"`
AllowUserSuggestedOptions *bool `json:"allow_user_suggested_options"`
Description *string `json:"description"`
EnforceUniqueVote *bool `json:"enforce_unique_vote"`
IsClosed *bool `json:"is_closed"`
MaxVotesAllowed *int `json:"max_votes_allowed"`
UserID *string `json:"user_id"`
VotingVisibility *string `json:"voting_visibility"`
Options []PollOptionRequest `json:"options"`
Custom map[string]any `json:"Custom"`
User *UserRequest `json:"user"`
}
type UpdatePushNotificationPreferencesRequest ΒΆ
type UpdatePushNotificationPreferencesRequest struct {
Preferences []PushPreferenceInput `json:"preferences"`
}
type UpdateReminderRequest ΒΆ
type UpdateReminderRequest struct {
RemindAt *Timestamp `json:"remind_at"`
UserID *string `json:"user_id"`
User *UserRequest `json:"user"`
}
type UpdateReminderResponse ΒΆ
type UpdateReminderResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Reminder ReminderResponseData `json:"reminder"`
}
Basic response information
type UpdateSIPInboundRoutingRuleRequest ΒΆ
type UpdateSIPInboundRoutingRuleRequest struct {
Name string `json:"name"`
CalledNumbers []string `json:"called_numbers"`
TrunkIds []string `json:"trunk_ids"`
CallerConfigs SIPCallerConfigsRequest `json:"caller_configs"`
CallerNumbers []string `json:"caller_numbers"`
CallConfigs *SIPCallConfigsRequest `json:"call_configs"`
DirectRoutingConfigs *SIPDirectRoutingRuleCallConfigsRequest `json:"direct_routing_configs"`
PinProtectionConfigs *SIPPinProtectionConfigsRequest `json:"pin_protection_configs"`
PinRoutingConfigs *SIPInboundRoutingRulePinConfigsRequest `json:"pin_routing_configs"`
}
type UpdateSIPInboundRoutingRuleResponse ΒΆ
type UpdateSIPInboundRoutingRuleResponse struct {
Duration string `json:"duration"`
SipInboundRoutingRule *SIPInboundRoutingRuleResponse `json:"sip_inbound_routing_rule,omitempty"`
}
Response containing the updated SIP Inbound Routing Rule
type UpdateSIPTrunkRequest ΒΆ
type UpdateSIPTrunkResponse ΒΆ
type UpdateSIPTrunkResponse struct {
Duration string `json:"duration"`
SipTrunk *SIPTrunkResponse `json:"sip_trunk,omitempty"`
}
Response containing the updated SIP trunk
type UpdateThreadPartialRequest ΒΆ
type UpdateThreadPartialRequest struct {
UserID *string `json:"user_id"`
Unset []string `json:"unset"`
Set map[string]any `json:"set"`
User *UserRequest `json:"user"`
}
type UpdateThreadPartialResponse ΒΆ
type UpdateThreadPartialResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Thread ThreadResponse `json:"thread"`
}
type UpdateUserGroupRequest ΒΆ
type UpdateUserGroupResponse ΒΆ
type UpdateUserGroupResponse struct {
Duration string `json:"duration"`
UserGroup *UserGroupResponse `json:"user_group,omitempty"`
}
Response for updating a user group
type UpdateUserPermissionsResponse ΒΆ
type UpdateUserPermissionsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
}
Basic response information
type UpdateUsersPartialRequest ΒΆ
type UpdateUsersPartialRequest struct {
Users []UpdateUserPartialRequest `json:"users"`
}
type UpdateUsersRequest ΒΆ
type UpdateUsersRequest struct {
Users map[string]UserRequest `json:"users"`
}
type UpdateUsersResponse ΒΆ
type UpdateUsersResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
MembershipDeletionTaskID string `json:"membership_deletion_task_id"`
// Object containing users
Users map[string]FullUserResponse `json:"users"`
}
type UpdatedCallPermissionsEvent ΒΆ
type UpdatedCallPermissionsEvent struct {
CallCid string `json:"call_cid"`
CreatedAt Timestamp `json:"created_at"`
// The capabilities of the current user
OwnCapabilities []OwnCapability `json:"own_capabilities"`
User UserResponse `json:"user"`
// The type of event: "call.permissions_updated" in this case
Type string `json:"type"`
}
This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly
func (*UpdatedCallPermissionsEvent) GetEventType ΒΆ
func (e *UpdatedCallPermissionsEvent) GetEventType() string
type UploadChannelFileRequest ΒΆ
type UploadChannelFileRequest struct {
File *string `json:"file"`
User *OnlyUserID `json:"user"`
}
type UploadChannelFileResponse ΒΆ
type UploadChannelFileResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// URL to the uploaded asset. Should be used to put to `asset_url` attachment field
File *string `json:"file,omitempty"`
ModerationAction *string `json:"moderation_action,omitempty"`
// URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field
ThumbUrl *string `json:"thumb_url,omitempty"`
}
type UploadChannelImageRequest ΒΆ
type UploadChannelImageRequest struct {
File *string `json:"file"`
UploadSizes []ImageSize `json:"upload_sizes"`
User *OnlyUserID `json:"user"`
}
type UploadChannelRequest ΒΆ
type UploadChannelRequest struct {
File *string `json:"file,omitempty"`
// field with JSON-encoded array of image size configurations
UploadSizes []ImageSize `json:"upload_sizes,omitempty"`
User *OnlyUserID `json:"user,omitempty"`
}
type UploadChannelResponse ΒΆ
type UploadChannelResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
File *string `json:"file,omitempty"`
ModerationAction *string `json:"moderation_action,omitempty"`
ThumbUrl *string `json:"thumb_url,omitempty"`
// Array of image size configurations
UploadSizes []ImageSize `json:"upload_sizes,omitempty"`
}
type UploadFileRequest ΒΆ
type UploadFileRequest struct {
File *string `json:"file"`
User *OnlyUserID `json:"user"`
}
type UploadImageRequest ΒΆ
type UploadImageRequest struct {
File *string `json:"file"`
UploadSizes []ImageSize `json:"upload_sizes"`
User *OnlyUserID `json:"user"`
}
type UpsertActivitiesRequest ΒΆ
type UpsertActivitiesRequest struct {
Activities []ActivityRequest `json:"activities"`
}
type UpsertActivitiesResponse ΒΆ
type UpsertActivitiesResponse struct {
Duration string `json:"duration"`
// List of created or updated activities
Activities []ActivityResponse `json:"activities"`
// Total number of mention notification activities created for mentioned users across all activities
MentionNotificationsCreated *int `json:"mention_notifications_created,omitempty"`
}
type UpsertCollectionsRequest ΒΆ
type UpsertCollectionsRequest struct {
Collections []CollectionRequest `json:"collections"`
}
type UpsertCollectionsResponse ΒΆ
type UpsertCollectionsResponse struct {
Duration string `json:"duration"`
// List of upserted collections
Collections []CollectionResponse `json:"collections"`
}
type UpsertConfigRequest ΒΆ
type UpsertConfigRequest struct {
Key string `json:"key"`
Async *bool `json:"async"`
Team *string `json:"team"`
UserID *string `json:"user_id"`
AWSRekognitionConfig *AIImageConfig `json:"aws_rekognition_config"`
AiImageConfig *AIImageConfig `json:"ai_image_config"`
AiTextConfig *AITextConfig `json:"ai_text_config"`
AiVideoConfig *AIVideoConfig `json:"ai_video_config"`
AutomodPlatformCircumventionConfig *AutomodPlatformCircumventionConfig `json:"automod_platform_circumvention_config"`
AutomodSemanticFiltersConfig *AutomodSemanticFiltersConfig `json:"automod_semantic_filters_config"`
AutomodToxicityConfig *AutomodToxicityConfig `json:"automod_toxicity_config"`
BlockListConfig *BlockListConfig `json:"block_list_config"`
BodyguardConfig *AITextConfig `json:"bodyguard_config"`
GoogleVisionConfig *GoogleVisionConfig `json:"google_vision_config"`
LlmConfig *LLMConfig `json:"llm_config"`
RuleBuilderConfig *RuleBuilderConfig `json:"rule_builder_config"`
User *UserRequest `json:"user"`
VelocityFilterConfig *VelocityFilterConfig `json:"velocity_filter_config"`
VideoCallRuleConfig *VideoCallRuleConfig `json:"video_call_rule_config"`
}
type UpsertConfigResponse ΒΆ
type UpsertConfigResponse struct {
Duration string `json:"duration"`
Config *ConfigResponse `json:"config,omitempty"`
}
type UpsertModerationRuleRequest ΒΆ
type UpsertModerationRuleRequest struct {
Name string `json:"name"`
RuleType string `json:"rule_type"`
CooldownPeriod *string `json:"cooldown_period"`
Description *string `json:"description"`
Enabled *bool `json:"enabled"`
Logic *string `json:"logic"`
Team *string `json:"team"`
ActionSequences []CallRuleActionSequence `json:"action_sequences"`
Conditions []RuleBuilderCondition `json:"conditions"`
ConfigKeys []string `json:"config_keys"`
Groups []RuleBuilderConditionGroup `json:"groups"`
Action *RuleBuilderAction `json:"action"`
}
type UpsertModerationRuleResponse ΒΆ
type UpsertModerationRuleResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Rule *ModerationRuleV2Response `json:"rule,omitempty"`
}
Basic response information
type UpsertModerationTemplateRequest ΒΆ
type UpsertModerationTemplateRequest struct {
// Name of the moderation template
Name string `json:"name"`
Config FeedsModerationTemplateConfigPayload `json:"config"`
}
type UpsertModerationTemplateResponse ΒΆ
type UpsertModerationTemplateResponse struct {
// When the template was created
CreatedAt Timestamp `json:"created_at"`
Duration string `json:"duration"`
// Name of the moderation template
Name string `json:"name"`
// When the template was last updated
UpdatedAt Timestamp `json:"updated_at"`
Config *FeedsModerationTemplateConfigPayload `json:"config,omitempty"`
}
type UpsertPushPreferencesRequest ΒΆ
type UpsertPushPreferencesRequest struct {
// A list of push preferences for channels, calls, or the user.
Preferences []PushPreferenceInput `json:"preferences"`
}
type UpsertPushPreferencesResponse ΒΆ
type UpsertPushPreferencesResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
// The channel specific push notification preferences, only returned for channels you've edited.
UserChannelPreferences map[string]map[string]*ChannelPushPreferencesResponse `json:"user_channel_preferences"`
// The user preferences, always returned regardless if you edited it
UserPreferences map[string]*PushPreferencesResponse `json:"user_preferences"`
}
type UpsertPushProviderRequest ΒΆ
type UpsertPushProviderRequest struct {
PushProvider *PushProviderRequest `json:"push_provider"`
}
type UpsertPushProviderResponse ΒΆ
type UpsertPushProviderResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
PushProvider PushProviderResponse `json:"push_provider"`
}
Basic response information
type UpsertPushTemplateResponse ΒΆ
type UpsertPushTemplateResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
Template *PushTemplateResponse `json:"template,omitempty"`
}
Basic response information
type UserBannedEvent ΒΆ
type UserBannedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.banned" in this case
Type string `json:"type"`
// The ID of the channel where the target user was banned
ChannelID *string `json:"channel_id,omitempty"`
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the target user was banned
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the target user was banned
Cid *string `json:"cid,omitempty"`
// The expiration date of the ban
Expiration *Timestamp `json:"expiration,omitempty"`
// The reason for the ban
Reason *string `json:"reason,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Whether the user was shadow banned
Shadow *bool `json:"shadow,omitempty"`
// The team of the channel where the target user was banned
Team *string `json:"team,omitempty"`
TotalBans *int `json:"total_bans,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
CreatedBy *UserResponseCommonFields `json:"created_by,omitempty"`
}
This event is sent when a user gets banned. The event contains information about the user that was banned.
func (*UserBannedEvent) GetEventType ΒΆ
func (e *UserBannedEvent) GetEventType() string
type UserCreatedWithinParameters ΒΆ
type UserCreatedWithinParameters struct {
MaxAge *string `json:"max_age,omitempty"`
}
type UserCustomEventRequest ΒΆ
type UserDeactivatedEvent ΒΆ
type UserDeactivatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.deactivated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
CreatedBy *UserResponseCommonFields `json:"created_by,omitempty"`
}
This event is sent when a user gets deactivated. The event contains information about the user that was deactivated.
func (*UserDeactivatedEvent) GetEventType ΒΆ
func (e *UserDeactivatedEvent) GetEventType() string
type UserDeletedEvent ΒΆ
type UserDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The type of deletion that was used for the user's conversations. One of: hard, soft, pruning, (empty string)
DeleteConversation string `json:"delete_conversation"`
// Whether the user's conversation channels were deleted
DeleteConversationChannels bool `json:"delete_conversation_channels"`
// The type of deletion that was used for the user's messages. One of: hard, soft, pruning, (empty string)
DeleteMessages string `json:"delete_messages"`
// The type of deletion that was used for the user. One of: hard, soft, pruning, (empty string)
DeleteUser string `json:"delete_user"`
// Whether the user was hard deleted
HardDelete bool `json:"hard_delete"`
// Whether the user's messages were marked as deleted
MarkMessagesDeleted bool `json:"mark_messages_deleted"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.deleted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
This event is sent when a user gets deleted. The event contains information about the user that was deleted and the deletion options that were used.
func (*UserDeletedEvent) GetEventType ΒΆ
func (e *UserDeletedEvent) GetEventType() string
type UserFeedbackReport ΒΆ
type UserFeedbackReportResponse ΒΆ
type UserFeedbackReportResponse struct {
Daily []DailyAggregateUserFeedbackReportResponse `json:"daily"`
}
type UserFeedbackResponse ΒΆ
type UserFeedbackResponse struct {
Cid string `json:"cid"`
Rating int `json:"rating"`
Reason string `json:"reason"`
Sdk string `json:"sdk"`
SdkVersion string `json:"sdk_version"`
SessionID string `json:"session_id"`
UserID string `json:"user_id"`
Platform PlatformDataResponse `json:"platform"`
Custom map[string]any `json:"custom,omitempty"`
}
type UserFlaggedEvent ΒΆ
type UserFlaggedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The reason for the flag
Reason string `json:"reason"`
// The total number of flags for the user
TotalFlags int `json:"total_flags"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.flagged" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Custom data
Custom map[string]any `json:"custom,omitempty"`
TargetUser *UserResponseCommonFields `json:"target_user,omitempty"`
}
This event is sent when a user gets flagged. The event contains information about the user that was flagged.
func (*UserFlaggedEvent) GetEventType ΒΆ
func (e *UserFlaggedEvent) GetEventType() string
type UserGroup ΒΆ
type UserGroup struct {
AppPk int `json:"app_pk"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
CreatedBy *string `json:"created_by,omitempty"`
Description *string `json:"description,omitempty"`
TeamID *string `json:"team_id,omitempty"`
Members []UserGroupMember `json:"members,omitempty"`
}
type UserGroupCreatedEvent ΒΆ
type UserGroupCreatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "user_group.created" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
UserGroup *UserGroup `json:"user_group,omitempty"`
}
Emitted when a user group is created.
func (*UserGroupCreatedEvent) GetEventType ΒΆ
func (e *UserGroupCreatedEvent) GetEventType() string
type UserGroupDeletedEvent ΒΆ
type UserGroupDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "user_group.deleted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
UserGroup *UserGroup `json:"user_group,omitempty"`
}
Emitted when a user group is deleted.
func (*UserGroupDeletedEvent) GetEventType ΒΆ
func (e *UserGroupDeletedEvent) GetEventType() string
type UserGroupMember ΒΆ
type UserGroupMemberAddedEvent ΒΆ
type UserGroupMemberAddedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The user IDs that were added
Members []string `json:"members"`
Custom map[string]any `json:"custom"`
// The type of event: "user_group.member_added" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
UserGroup *UserGroup `json:"user_group,omitempty"`
}
Emitted when members are added to a user group.
func (*UserGroupMemberAddedEvent) GetEventType ΒΆ
func (e *UserGroupMemberAddedEvent) GetEventType() string
type UserGroupMemberRemovedEvent ΒΆ
type UserGroupMemberRemovedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The user IDs that were removed
Members []string `json:"members"`
Custom map[string]any `json:"custom"`
// The type of event: "user_group.member_removed" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
UserGroup *UserGroup `json:"user_group,omitempty"`
}
Emitted when members are removed from a user group.
func (*UserGroupMemberRemovedEvent) GetEventType ΒΆ
func (e *UserGroupMemberRemovedEvent) GetEventType() string
type UserGroupResponse ΒΆ
type UserGroupResponse struct {
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Name string `json:"name"`
UpdatedAt Timestamp `json:"updated_at"`
CreatedBy *string `json:"created_by,omitempty"`
Description *string `json:"description,omitempty"`
TeamID *string `json:"team_id,omitempty"`
Members []UserGroupMember `json:"members,omitempty"`
}
type UserGroupUpdatedEvent ΒΆ
type UserGroupUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
// The type of event: "user_group.updated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
User *UserResponseCommonFields `json:"user,omitempty"`
UserGroup *UserGroup `json:"user_group,omitempty"`
}
Emitted when a user group is updated.
func (*UserGroupUpdatedEvent) GetEventType ΒΆ
func (e *UserGroupUpdatedEvent) GetEventType() string
type UserMessagesDeletedEvent ΒΆ
type UserMessagesDeletedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.messages.deleted" in this case
Type string `json:"type"`
// The ID of the channel where the target user's messages were deleted
ChannelID *string `json:"channel_id,omitempty"`
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the target user's messages were deleted
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the target user's messages were deleted
Cid *string `json:"cid,omitempty"`
// Whether Messages were hard deleted
HardDelete *bool `json:"hard_delete,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The team of the channel where the target user's messages were deleted
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
}
This event is sent when a user's message get deleted. The event contains information about the user whose messages got deleted.
func (*UserMessagesDeletedEvent) GetEventType ΒΆ
func (e *UserMessagesDeletedEvent) GetEventType() string
type UserMuteResponse ΒΆ
type UserMuteResponse struct {
CreatedAt Timestamp `json:"created_at"`
UpdatedAt Timestamp `json:"updated_at"`
Expires *Timestamp `json:"expires,omitempty"`
Target *UserResponse `json:"target,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
type UserMutedEvent ΒΆ
type UserMutedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.muted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The target users that were muted
TargetUsers []UserResponseCommonFields `json:"target_users,omitempty"`
TargetUser *UserResponseCommonFields `json:"target_user,omitempty"`
}
This event is sent when a user gets muted. The event contains information about the user that was muted.
func (*UserMutedEvent) GetEventType ΒΆ
func (e *UserMutedEvent) GetEventType() string
type UserReactivatedEvent ΒΆ
type UserReactivatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.reactivated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
CreatedBy *UserResponseCommonFields `json:"created_by,omitempty"`
}
This event is sent when a user gets reactivated. The event contains information about the user that was reactivated.
func (*UserReactivatedEvent) GetEventType ΒΆ
func (e *UserReactivatedEvent) GetEventType() string
type UserRequest ΒΆ
type UserRequest struct {
// User ID
ID string `json:"id"`
// User's profile image URL
Image *string `json:"image,omitempty"`
Invisible *bool `json:"invisible,omitempty"`
Language *string `json:"language,omitempty"`
// Optional name of user
Name *string `json:"name,omitempty"`
// User's global role
Role *string `json:"role,omitempty"`
// List of teams the user belongs to
Teams []string `json:"teams,omitempty"`
// Custom user data
Custom map[string]any `json:"custom,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
// Map of team-specific roles for the user
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
User request object
type UserResponse ΒΆ
type UserResponse struct {
// Whether a user is banned or not
Banned bool `json:"banned"`
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// Unique user identifier
ID string `json:"id"`
Invisible bool `json:"invisible"`
// Preferred language of a user
Language string `json:"language"`
// Whether a user online or not
Online bool `json:"online"`
// Determines the set of user permissions
Role string `json:"role"`
// Whether a user is shadow banned
ShadowBanned bool `json:"shadow_banned"`
// Date/time of the last update
UpdatedAt Timestamp `json:"updated_at"`
BlockedUserIds []string `json:"blocked_user_ids"`
// List of teams user is a part of
Teams []string `json:"teams"`
// Custom data for this object
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
// Date when ban expires
BanExpires *Timestamp `json:"ban_expires,omitempty"`
// Date of deactivation
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
// Date/time of deletion
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
// Date of last activity
LastActive *Timestamp `json:"last_active,omitempty"`
// Optional name of user
Name *string `json:"name,omitempty"`
// Revocation date for tokens
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
// List of devices user is using
Devices []DeviceResponse `json:"devices,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
PushNotifications *PushNotificationSettingsResponse `json:"push_notifications,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
User response object
type UserResponseCommonFields ΒΆ
type UserResponseCommonFields struct {
Banned bool `json:"banned"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Language string `json:"language"`
Online bool `json:"online"`
Role string `json:"role"`
UpdatedAt Timestamp `json:"updated_at"`
BlockedUserIds []string `json:"blocked_user_ids"`
Teams []string `json:"teams"`
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
LastActive *Timestamp `json:"last_active,omitempty"`
Name *string `json:"name,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
type UserResponsePrivacyFields ΒΆ
type UserResponsePrivacyFields struct {
Banned bool `json:"banned"`
CreatedAt Timestamp `json:"created_at"`
ID string `json:"id"`
Language string `json:"language"`
Online bool `json:"online"`
Role string `json:"role"`
UpdatedAt Timestamp `json:"updated_at"`
BlockedUserIds []string `json:"blocked_user_ids"`
Teams []string `json:"teams"`
Custom map[string]any `json:"custom"`
AvgResponseTime *int `json:"avg_response_time,omitempty"`
DeactivatedAt *Timestamp `json:"deactivated_at,omitempty"`
DeletedAt *Timestamp `json:"deleted_at,omitempty"`
Image *string `json:"image,omitempty"`
Invisible *bool `json:"invisible,omitempty"`
LastActive *Timestamp `json:"last_active,omitempty"`
Name *string `json:"name,omitempty"`
RevokeTokensIssuedBefore *Timestamp `json:"revoke_tokens_issued_before,omitempty"`
PrivacySettings *PrivacySettingsResponse `json:"privacy_settings,omitempty"`
TeamsRole map[string]string `json:"teams_role,omitempty"`
}
type UserRoleParameters ΒΆ
type UserRuleParameters ΒΆ
type UserRuleParameters struct {
MaxAge *string `json:"max_age,omitempty"`
}
type UserUnbannedEvent ΒΆ
type UserUnbannedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.unbanned" in this case
Type string `json:"type"`
// The ID of the channel where the target user was unbanned
ChannelID *string `json:"channel_id,omitempty"`
ChannelMemberCount *int `json:"channel_member_count,omitempty"`
ChannelMessageCount *int `json:"channel_message_count,omitempty"`
// The type of the channel where the target user was unbanned
ChannelType *string `json:"channel_type,omitempty"`
// The CID of the channel where the target user was unbanned
Cid *string `json:"cid,omitempty"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// Whether the target user was shadow unbanned
Shadow *bool `json:"shadow,omitempty"`
// The team of the channel where the target user was unbanned
Team *string `json:"team,omitempty"`
ChannelCustom map[string]any `json:"channel_custom,omitempty"`
CreatedBy *UserResponseCommonFields `json:"created_by,omitempty"`
}
This event is sent when a user gets unbanned. The event contains information about the user that was unbanned.
func (*UserUnbannedEvent) GetEventType ΒΆ
func (e *UserUnbannedEvent) GetEventType() string
type UserUnmutedEvent ΒΆ
type UserUnmutedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.unmuted" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
// The target users that were unmuted
TargetUsers []UserResponseCommonFields `json:"target_users,omitempty"`
TargetUser *UserResponseCommonFields `json:"target_user,omitempty"`
}
This event is sent when a user gets unmuted. The event contains information about the user that was unmuted.
func (*UserUnmutedEvent) GetEventType ΒΆ
func (e *UserUnmutedEvent) GetEventType() string
type UserUnreadReminderEvent ΒΆ
type UserUnreadReminderEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
// The channels with unread messages
Channels map[string]*ChannelMessagesResponse `json:"channels"`
Custom map[string]any `json:"custom"`
User UserResponseCommonFields `json:"user"`
// The type of event: "user.unread_message_reminder" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
Reminder events allow you to notify your users about unread messages. Reminders can be used to trigger an email, push notification or SMS to the user.
func (*UserUnreadReminderEvent) GetEventType ΒΆ
func (e *UserUnreadReminderEvent) GetEventType() string
type UserUpdatedEvent ΒΆ
type UserUpdatedEvent struct {
// Date/time of creation
CreatedAt Timestamp `json:"created_at"`
Custom map[string]any `json:"custom"`
User UserResponsePrivacyFields `json:"user"`
// The type of event: "user.updated" in this case
Type string `json:"type"`
ReceivedAt *Timestamp `json:"received_at,omitempty"`
}
This event is sent when a user gets updated. The event contains information about the updated user.
func (*UserUpdatedEvent) GetEventType ΒΆ
func (e *UserUpdatedEvent) GetEventType() string
type V2DeleteTemplateRequest ΒΆ
type V2DeleteTemplateRequest struct {
}
type V2QueryTemplatesRequest ΒΆ
type V2QueryTemplatesRequest struct {
}
type V2UpsertTemplateRequest ΒΆ
type V2UpsertTemplateRequest struct {
Name string `json:"name"`
Config FeedsModerationTemplateConfigPayload `json:"config"`
}
type VelocityFilterConfig ΒΆ
type VelocityFilterConfig struct {
AdvancedFilters *bool `json:"advanced_filters,omitempty"`
Async *bool `json:"async,omitempty"`
CascadingActions *bool `json:"cascading_actions,omitempty"`
CidsPerUser *int `json:"cids_per_user,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
FirstMessageOnly *bool `json:"first_message_only,omitempty"`
Rules []VelocityFilterConfigRule `json:"rules,omitempty"`
}
type VelocityFilterConfigRule ΒΆ
type VelocityFilterConfigRule struct {
Action string `json:"action"`
BanDuration *int `json:"ban_duration,omitempty"`
CascadingAction *string `json:"cascading_action,omitempty"`
CascadingThreshold *int `json:"cascading_threshold,omitempty"`
CheckMessageContext *bool `json:"check_message_context,omitempty"`
FastSpamThreshold *int `json:"fast_spam_threshold,omitempty"`
FastSpamTtl *int `json:"fast_spam_ttl,omitempty"`
IpBan *bool `json:"ip_ban,omitempty"`
ProbationPeriod *int `json:"probation_period,omitempty"`
ShadowBan *bool `json:"shadow_ban,omitempty"`
SlowSpamBanDuration *int `json:"slow_spam_ban_duration,omitempty"`
SlowSpamThreshold *int `json:"slow_spam_threshold,omitempty"`
SlowSpamTtl *int `json:"slow_spam_ttl,omitempty"`
UrlOnly *bool `json:"url_only,omitempty"`
}
type VideoCallRuleConfig ΒΆ
type VideoCallRuleConfig struct {
FlagAllLabels *bool `json:"flag_all_labels,omitempty"`
FlaggedLabels []string `json:"flagged_labels,omitempty"`
Rules []HarmConfig `json:"rules,omitempty"`
}
type VideoClient ΒΆ
type VideoClient struct {
// contains filtered or unexported fields
}
func NewVideoClient ΒΆ
func NewVideoClient(client *Client) *VideoClient
func (*VideoClient) BlockUser ΒΆ
func (c *VideoClient) BlockUser(ctx context.Context, _type string, id string, request *BlockUserRequest) (*StreamResponse[BlockUserResponse], error)
Block a user, preventing them from joining the call until they are unblocked.
Sends events: - call.blocked_user
func (*VideoClient) Call ΒΆ
func (c *VideoClient) Call(callType, callID string) *Call
func (*VideoClient) CollectUserFeedback ΒΆ
func (c *VideoClient) CollectUserFeedback(ctx context.Context, _type string, id string, request *CollectUserFeedbackRequest) (*StreamResponse[CollectUserFeedbackResponse], error)
Sends events: - call.user_feedback_submitted
func (*VideoClient) CreateCallType ΒΆ
func (c *VideoClient) CreateCallType(ctx context.Context, request *CreateCallTypeRequest) (*StreamResponse[CreateCallTypeResponse], error)
func (*VideoClient) CreateSIPInboundRoutingRule ΒΆ
func (c *VideoClient) CreateSIPInboundRoutingRule(ctx context.Context, request *CreateSIPInboundRoutingRuleRequest) (*StreamResponse[SIPInboundRoutingRuleResponse], error)
Create a new SIP Inbound Routing Rule with either direct routing or PIN routing configuration
func (*VideoClient) CreateSIPTrunk ΒΆ
func (c *VideoClient) CreateSIPTrunk(ctx context.Context, request *CreateSIPTrunkRequest) (*StreamResponse[CreateSIPTrunkResponse], error)
Create a new SIP trunk for the application
func (*VideoClient) DeleteCall ΒΆ
func (c *VideoClient) DeleteCall(ctx context.Context, _type string, id string, request *DeleteCallRequest) (*StreamResponse[DeleteCallResponse], error)
Sends events: - call.deleted
func (*VideoClient) DeleteCallType ΒΆ
func (c *VideoClient) DeleteCallType(ctx context.Context, name string, request *DeleteCallTypeRequest) (*StreamResponse[Response], error)
func (*VideoClient) DeleteRecording ΒΆ
func (c *VideoClient) DeleteRecording(ctx context.Context, _type string, id string, session string, filename string, request *DeleteRecordingRequest) (*StreamResponse[DeleteRecordingResponse], error)
Deletes recording
func (*VideoClient) DeleteSIPInboundRoutingRule ΒΆ
func (c *VideoClient) DeleteSIPInboundRoutingRule(ctx context.Context, id string, request *DeleteSIPInboundRoutingRuleRequest) (*StreamResponse[DeleteSIPInboundRoutingRuleResponse], error)
Delete a SIP Inbound Routing Rule for the application
func (*VideoClient) DeleteSIPTrunk ΒΆ
func (c *VideoClient) DeleteSIPTrunk(ctx context.Context, id string, request *DeleteSIPTrunkRequest) (*StreamResponse[DeleteSIPTrunkResponse], error)
Delete a SIP trunk for the application
func (*VideoClient) DeleteTranscription ΒΆ
func (c *VideoClient) DeleteTranscription(ctx context.Context, _type string, id string, session string, filename string, request *DeleteTranscriptionRequest) (*StreamResponse[DeleteTranscriptionResponse], error)
Deletes transcription
func (*VideoClient) EndCall ΒΆ
func (c *VideoClient) EndCall(ctx context.Context, _type string, id string, request *EndCallRequest) (*StreamResponse[EndCallResponse], error)
Sends events: - call.ended
func (*VideoClient) GetActiveCallsStatus ΒΆ
func (c *VideoClient) GetActiveCallsStatus(ctx context.Context, request *GetActiveCallsStatusRequest) (*StreamResponse[GetActiveCallsStatusResponse], error)
Get the current status of all active calls including metrics and summary information
func (*VideoClient) GetCall ΒΆ
func (c *VideoClient) GetCall(ctx context.Context, _type string, id string, request *GetCallRequest) (*StreamResponse[GetCallResponse], error)
func (*VideoClient) GetCallParticipantSessionMetrics ΒΆ
func (c *VideoClient) GetCallParticipantSessionMetrics(ctx context.Context, _type string, id string, session string, user string, userSession string, request *GetCallParticipantSessionMetricsRequest) (*StreamResponse[GetCallParticipantSessionMetricsResponse], error)
func (*VideoClient) GetCallReport ΒΆ
func (c *VideoClient) GetCallReport(ctx context.Context, _type string, id string, request *GetCallReportRequest) (*StreamResponse[GetCallReportResponse], error)
func (*VideoClient) GetCallSessionParticipantStatsDetails ΒΆ
func (c *VideoClient) GetCallSessionParticipantStatsDetails(ctx context.Context, callType string, callID string, session string, user string, userSession string, request *GetCallSessionParticipantStatsDetailsRequest) (*StreamResponse[GetCallSessionParticipantStatsDetailsResponse], error)
func (*VideoClient) GetCallSessionParticipantStatsTimeline ΒΆ
func (c *VideoClient) GetCallSessionParticipantStatsTimeline(ctx context.Context, callType string, callID string, session string, user string, userSession string, request *GetCallSessionParticipantStatsTimelineRequest) (*StreamResponse[QueryCallSessionParticipantStatsTimelineResponse], error)
func (*VideoClient) GetCallStatsMap ΒΆ
func (c *VideoClient) GetCallStatsMap(ctx context.Context, callType string, callID string, session string, request *GetCallStatsMapRequest) (*StreamResponse[QueryCallStatsMapResponse], error)
func (*VideoClient) GetCallType ΒΆ
func (c *VideoClient) GetCallType(ctx context.Context, name string, request *GetCallTypeRequest) (*StreamResponse[GetCallTypeResponse], error)
func (*VideoClient) GetEdges ΒΆ
func (c *VideoClient) GetEdges(ctx context.Context, request *GetEdgesRequest) (*StreamResponse[GetEdgesResponse], error)
Returns the list of all edges available for video calls.
func (*VideoClient) GetOrCreateCall ΒΆ
func (c *VideoClient) GetOrCreateCall(ctx context.Context, _type string, id string, request *GetOrCreateCallRequest) (*StreamResponse[GetOrCreateCallResponse], error)
Gets or creates a new call
Sends events: - call.created - call.notification - call.ring
func (*VideoClient) GoLive ΒΆ
func (c *VideoClient) GoLive(ctx context.Context, _type string, id string, request *GoLiveRequest) (*StreamResponse[GoLiveResponse], error)
Sends events: - call.live_started
func (*VideoClient) KickUser ΒΆ
func (c *VideoClient) KickUser(ctx context.Context, _type string, id string, request *KickUserRequest) (*StreamResponse[KickUserResponse], error)
Kicks a user from the call. Optionally block the user from rejoining by setting block=true.
Sends events: - call.blocked_user - call.kicked_user
func (*VideoClient) ListCallTypes ΒΆ
func (c *VideoClient) ListCallTypes(ctx context.Context, request *ListCallTypesRequest) (*StreamResponse[ListCallTypeResponse], error)
func (*VideoClient) ListRecordings ΒΆ
func (c *VideoClient) ListRecordings(ctx context.Context, _type string, id string, request *ListRecordingsRequest) (*StreamResponse[ListRecordingsResponse], error)
Lists recordings
func (*VideoClient) ListSIPInboundRoutingRule ΒΆ
func (c *VideoClient) ListSIPInboundRoutingRule(ctx context.Context, request *ListSIPInboundRoutingRuleRequest) (*StreamResponse[ListSIPInboundRoutingRuleResponse], error)
List all SIP Inbound Routing Rules for the application
func (*VideoClient) ListSIPTrunks ΒΆ
func (c *VideoClient) ListSIPTrunks(ctx context.Context, request *ListSIPTrunksRequest) (*StreamResponse[ListSIPTrunksResponse], error)
List all SIP trunks for the application
func (*VideoClient) ListTranscriptions ΒΆ
func (c *VideoClient) ListTranscriptions(ctx context.Context, _type string, id string, request *ListTranscriptionsRequest) (*StreamResponse[ListTranscriptionsResponse], error)
Lists transcriptions
func (*VideoClient) MuteUsers ΒΆ
func (c *VideoClient) MuteUsers(ctx context.Context, _type string, id string, request *MuteUsersRequest) (*StreamResponse[MuteUsersResponse], error)
Mutes users in a call
func (*VideoClient) QueryAggregateCallStats ΒΆ
func (c *VideoClient) QueryAggregateCallStats(ctx context.Context, request *QueryAggregateCallStatsRequest) (*StreamResponse[QueryAggregateCallStatsResponse], error)
func (*VideoClient) QueryCallMembers ΒΆ
func (c *VideoClient) QueryCallMembers(ctx context.Context, request *QueryCallMembersRequest) (*StreamResponse[QueryCallMembersResponse], error)
Query call members with filter query
func (*VideoClient) QueryCallParticipantSessions ΒΆ
func (c *VideoClient) QueryCallParticipantSessions(ctx context.Context, _type string, id string, session string, request *QueryCallParticipantSessionsRequest) (*StreamResponse[QueryCallParticipantSessionsResponse], error)
func (*VideoClient) QueryCallParticipants ΒΆ
func (c *VideoClient) QueryCallParticipants(ctx context.Context, id string, _type string, request *QueryCallParticipantsRequest) (*StreamResponse[QueryCallParticipantsResponse], error)
Returns a list of participants connected to the call
func (*VideoClient) QueryCallSessionParticipantStats ΒΆ
func (c *VideoClient) QueryCallSessionParticipantStats(ctx context.Context, callType string, callID string, session string, request *QueryCallSessionParticipantStatsRequest) (*StreamResponse[QueryCallSessionParticipantStatsResponse], error)
func (*VideoClient) QueryCallStats ΒΆ
func (c *VideoClient) QueryCallStats(ctx context.Context, request *QueryCallStatsRequest) (*StreamResponse[QueryCallStatsResponse], error)
func (*VideoClient) QueryCalls ΒΆ
func (c *VideoClient) QueryCalls(ctx context.Context, request *QueryCallsRequest) (*StreamResponse[QueryCallsResponse], error)
Query calls with filter query
func (*VideoClient) QueryUserFeedback ΒΆ
func (c *VideoClient) QueryUserFeedback(ctx context.Context, request *QueryUserFeedbackRequest) (*StreamResponse[QueryUserFeedbackResponse], error)
func (*VideoClient) ResolveSipInbound ΒΆ
func (c *VideoClient) ResolveSipInbound(ctx context.Context, request *ResolveSipInboundRequest) (*StreamResponse[ResolveSipInboundResponse], error)
Resolve SIP inbound routing based on trunk number, caller number, and challenge authentication
func (*VideoClient) RingCall ΒΆ
func (c *VideoClient) RingCall(ctx context.Context, _type string, id string, request *RingCallRequest) (*StreamResponse[RingCallResponse], error)
Sends a ring notification to the provided users who are not already in the call. All users should be members of the call
Sends events: - call.ring
func (*VideoClient) SendCallEvent ΒΆ
func (c *VideoClient) SendCallEvent(ctx context.Context, _type string, id string, request *SendCallEventRequest) (*StreamResponse[SendCallEventResponse], error)
Sends custom event to the call
Sends events: - custom
func (*VideoClient) SendClosedCaption ΒΆ
func (c *VideoClient) SendClosedCaption(ctx context.Context, _type string, id string, request *SendClosedCaptionRequest) (*StreamResponse[SendClosedCaptionResponse], error)
Sends a closed caption event to the call
Sends events: - call.closed_caption
func (*VideoClient) StartClosedCaptions ΒΆ
func (c *VideoClient) StartClosedCaptions(ctx context.Context, _type string, id string, request *StartClosedCaptionsRequest) (*StreamResponse[StartClosedCaptionsResponse], error)
Starts closed captions
func (*VideoClient) StartFrameRecording ΒΆ
func (c *VideoClient) StartFrameRecording(ctx context.Context, _type string, id string, request *StartFrameRecordingRequest) (*StreamResponse[StartFrameRecordingResponse], error)
Starts frame by frame recording
Sends events: - call.frame_recording_started
func (*VideoClient) StartHLSBroadcasting ΒΆ
func (c *VideoClient) StartHLSBroadcasting(ctx context.Context, _type string, id string, request *StartHLSBroadcastingRequest) (*StreamResponse[StartHLSBroadcastingResponse], error)
Starts HLS broadcasting
func (*VideoClient) StartRTMPBroadcasts ΒΆ
func (c *VideoClient) StartRTMPBroadcasts(ctx context.Context, _type string, id string, request *StartRTMPBroadcastsRequest) (*StreamResponse[StartRTMPBroadcastsResponse], error)
Starts RTMP broadcasts for the provided RTMP destinations
func (*VideoClient) StartRecording ΒΆ
func (c *VideoClient) StartRecording(ctx context.Context, _type string, id string, recordingType string, request *StartRecordingRequest) (*StreamResponse[StartRecordingResponse], error)
Starts recording
Sends events: - call.recording_started
func (*VideoClient) StartTranscription ΒΆ
func (c *VideoClient) StartTranscription(ctx context.Context, _type string, id string, request *StartTranscriptionRequest) (*StreamResponse[StartTranscriptionResponse], error)
Starts transcription
func (*VideoClient) StopAllRTMPBroadcasts ΒΆ
func (c *VideoClient) StopAllRTMPBroadcasts(ctx context.Context, _type string, id string, request *StopAllRTMPBroadcastsRequest) (*StreamResponse[StopAllRTMPBroadcastsResponse], error)
Stop all RTMP broadcasts for the provided call
func (*VideoClient) StopClosedCaptions ΒΆ
func (c *VideoClient) StopClosedCaptions(ctx context.Context, _type string, id string, request *StopClosedCaptionsRequest) (*StreamResponse[StopClosedCaptionsResponse], error)
Stops closed captions
Sends events: - call.transcription_stopped
func (*VideoClient) StopFrameRecording ΒΆ
func (c *VideoClient) StopFrameRecording(ctx context.Context, _type string, id string, request *StopFrameRecordingRequest) (*StreamResponse[StopFrameRecordingResponse], error)
Stops frame recording
Sends events: - call.frame_recording_stopped
func (*VideoClient) StopHLSBroadcasting ΒΆ
func (c *VideoClient) StopHLSBroadcasting(ctx context.Context, _type string, id string, request *StopHLSBroadcastingRequest) (*StreamResponse[StopHLSBroadcastingResponse], error)
Stops HLS broadcasting
func (*VideoClient) StopLive ΒΆ
func (c *VideoClient) StopLive(ctx context.Context, _type string, id string, request *StopLiveRequest) (*StreamResponse[StopLiveResponse], error)
Sends events: - call.updated
func (*VideoClient) StopRTMPBroadcast ΒΆ
func (c *VideoClient) StopRTMPBroadcast(ctx context.Context, _type string, id string, name string, request *StopRTMPBroadcastRequest) (*StreamResponse[StopRTMPBroadcastsResponse], error)
Stop RTMP broadcasts for the provided RTMP destinations
func (*VideoClient) StopRecording ΒΆ
func (c *VideoClient) StopRecording(ctx context.Context, _type string, id string, recordingType string, request *StopRecordingRequest) (*StreamResponse[StopRecordingResponse], error)
Stops recording
Sends events: - call.recording_stopped
func (*VideoClient) StopTranscription ΒΆ
func (c *VideoClient) StopTranscription(ctx context.Context, _type string, id string, request *StopTranscriptionRequest) (*StreamResponse[StopTranscriptionResponse], error)
Stops transcription
Sends events: - call.transcription_stopped
func (*VideoClient) UnblockUser ΒΆ
func (c *VideoClient) UnblockUser(ctx context.Context, _type string, id string, request *UnblockUserRequest) (*StreamResponse[UnblockUserResponse], error)
Removes the block for a user on a call. The user will be able to join the call again.
Sends events: - call.unblocked_user
func (*VideoClient) UpdateCall ΒΆ
func (c *VideoClient) UpdateCall(ctx context.Context, _type string, id string, request *UpdateCallRequest) (*StreamResponse[UpdateCallResponse], error)
Sends events: - call.updated
func (*VideoClient) UpdateCallMembers ΒΆ
func (c *VideoClient) UpdateCallMembers(ctx context.Context, _type string, id string, request *UpdateCallMembersRequest) (*StreamResponse[UpdateCallMembersResponse], error)
Sends events: - call.member_added - call.member_removed - call.member_updated
func (*VideoClient) UpdateCallType ΒΆ
func (c *VideoClient) UpdateCallType(ctx context.Context, name string, request *UpdateCallTypeRequest) (*StreamResponse[UpdateCallTypeResponse], error)
func (*VideoClient) UpdateSIPInboundRoutingRule ΒΆ
func (c *VideoClient) UpdateSIPInboundRoutingRule(ctx context.Context, id string, request *UpdateSIPInboundRoutingRuleRequest) (*StreamResponse[UpdateSIPInboundRoutingRuleResponse], error)
Update an existing SIP Inbound Routing Rule with new configuration
func (*VideoClient) UpdateSIPTrunk ΒΆ
func (c *VideoClient) UpdateSIPTrunk(ctx context.Context, id string, request *UpdateSIPTrunkRequest) (*StreamResponse[UpdateSIPTrunkResponse], error)
Update a SIP trunk for the application
func (*VideoClient) UpdateUserPermissions ΒΆ
func (c *VideoClient) UpdateUserPermissions(ctx context.Context, _type string, id string, request *UpdateUserPermissionsRequest) (*StreamResponse[UpdateUserPermissionsResponse], error)
Updates user permissions
Sends events: - call.permissions_updated
func (*VideoClient) VideoPin ΒΆ
func (c *VideoClient) VideoPin(ctx context.Context, _type string, id string, request *VideoPinRequest) (*StreamResponse[PinResponse], error)
Pins a track for all users in the call.
func (*VideoClient) VideoUnpin ΒΆ
func (c *VideoClient) VideoUnpin(ctx context.Context, _type string, id string, request *VideoUnpinRequest) (*StreamResponse[UnpinResponse], error)
Unpins a track for all users in the call.
type VideoContentParameters ΒΆ
type VideoContentParameters struct {
HarmLabels []string `json:"harm_labels,omitempty"`
}
type VideoEndCallRequestPayload ΒΆ
type VideoEndCallRequestPayload struct {
}
Configuration for ending video call
type VideoKickUserRequestPayload ΒΆ
type VideoKickUserRequestPayload struct {
}
Configuration for kicking user from video call
type VideoPinRequest ΒΆ
type VideoReactionOverTimeResponse ΒΆ
type VideoReactionOverTimeResponse struct {
ByMinute []CountByMinuteResponse `json:"by_minute,omitempty"`
}
type VideoReactionResponse ΒΆ
type VideoReactionResponse struct {
Type string `json:"type"`
User UserResponse `json:"user"`
EmojiCode *string `json:"emoji_code,omitempty"`
Custom map[string]any `json:"custom,omitempty"`
}
type VideoReactionsResponse ΒΆ
type VideoReactionsResponse struct {
Reaction string `json:"reaction"`
CountOverTime *VideoReactionOverTimeResponse `json:"count_over_time,omitempty"`
}
type VideoRuleParameters ΒΆ
type VideoSettings ΒΆ
type VideoSettings struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
CameraDefaultOn bool `json:"camera_default_on"`
CameraFacing string `json:"camera_facing"`
Enabled bool `json:"enabled"`
TargetResolution TargetResolution `json:"target_resolution"`
}
type VideoSettingsRequest ΒΆ
type VideoSettingsRequest struct {
AccessRequestEnabled *bool `json:"access_request_enabled,omitempty"`
CameraDefaultOn *bool `json:"camera_default_on,omitempty"`
CameraFacing *string `json:"camera_facing,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
TargetResolution *TargetResolution `json:"target_resolution,omitempty"`
}
type VideoSettingsResponse ΒΆ
type VideoSettingsResponse struct {
AccessRequestEnabled bool `json:"access_request_enabled"`
CameraDefaultOn bool `json:"camera_default_on"`
CameraFacing string `json:"camera_facing"`
Enabled bool `json:"enabled"`
TargetResolution TargetResolution `json:"target_resolution"`
}
type VideoUnpinRequest ΒΆ
type WHEvent ΒΆ
type WHEvent struct {
Type string `json:"type"`
}
The discriminator object for all webhook events, it maps events' payload to the final type
type WHIPIngress ΒΆ
type WHIPIngress struct {
// URL for a new whip input, every time a new link is created
Address string `json:"address"`
}
type WSEvent ΒΆ
type WSEvent struct {
CreatedAt Timestamp `json:"created_at"`
Type string `json:"type"`
Custom map[string]any `json:"custom"`
Automoderation *bool `json:"automoderation,omitempty"`
ChannelID *string `json:"channel_id,omitempty"`
ChannelLastMessageAt *Timestamp `json:"channel_last_message_at,omitempty"`
ChannelType *string `json:"channel_type,omitempty"`
Cid *string `json:"cid,omitempty"`
ConnectionID *string `json:"connection_id,omitempty"`
ParentID *string `json:"parent_id,omitempty"`
Reason *string `json:"reason,omitempty"`
Team *string `json:"team,omitempty"`
ThreadID *string `json:"thread_id,omitempty"`
UserID *string `json:"user_id,omitempty"`
WatcherCount *int `json:"watcher_count,omitempty"`
AutomoderationScores *ModerationResponse `json:"automoderation_scores,omitempty"`
Channel *ChannelResponse `json:"channel,omitempty"`
CreatedBy *UserResponse `json:"created_by,omitempty"`
Me *OwnUserResponse `json:"me,omitempty"`
Member *ChannelMemberResponse `json:"member,omitempty"`
Message *MessageResponse `json:"message,omitempty"`
MessageUpdate *MessageUpdate `json:"message_update,omitempty"`
Poll *PollResponseData `json:"poll,omitempty"`
PollVote *PollVoteResponseData `json:"poll_vote,omitempty"`
Reaction *ReactionResponse `json:"reaction,omitempty"`
Thread *ThreadResponse `json:"thread,omitempty"`
User *UserResponse `json:"user,omitempty"`
}
Represents an BaseEvent that happened in Stream Chat
type WebhookEvent ΒΆ
type WebhookEvent interface {
GetEventType() string
}
WebhookEvent is implemented by all webhook event types.
func ParseWebhookEvent ΒΆ
func ParseWebhookEvent(rawEvent []byte) (WebhookEvent, error)
ParseWebhookEvent deserializes a raw webhook payload into a typed event. It uses the "type" field to determine which event struct to deserialize into.
Returns WebhookEvent - the concrete event type (e.g., *MessageNewEvent, *ChannelCreatedEvent). All webhook events implement the WebhookEvent interface with a GetEventType() method.
Returns an error if the event type is unknown or if deserialization fails.
Example usage:
func webhookHandler(w http.ResponseWriter, r *http.Request) {
body, _ := io.ReadAll(r.Body)
signature := r.Header.Get("X-Signature")
secret := os.Getenv("STREAM_WEBHOOK_SECRET")
if !getstream.VerifyWebhookSignature(body, signature, secret) {
http.Error(w, "Invalid signature", http.StatusForbidden)
return
}
event, err := getstream.ParseWebhookEvent(body)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
switch e := event.(type) {
case *getstream.MessageNewEvent:
fmt.Printf("New message: %s\n", e.Message.Text)
case *getstream.ChannelCreatedEvent:
fmt.Printf("Channel created: %s\n", e.Channel.Cid)
default:
fmt.Printf("Unknown event type: %s\n", e.GetEventType())
}
w.WriteHeader(200)
}
func VerifyAndParseWebhook ΒΆ
func VerifyAndParseWebhook(r *http.Request, secret string) (WebhookEvent, error)
VerifyAndParseWebhook verifies the webhook signature and parses the event. The request body is restored after reading to keep it available for downstream handlers.
Example:
func webhookHandler(w http.ResponseWriter, r *http.Request) {
event, err := getstream.VerifyAndParseWebhook(r, secret)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
// Handle event...
w.WriteHeader(http.StatusOK)
}
type WrappedUnreadCountsResponse ΒΆ
type WrappedUnreadCountsResponse struct {
// Duration of the request in milliseconds
Duration string `json:"duration"`
TotalUnreadCount int `json:"total_unread_count"`
TotalUnreadThreadsCount int `json:"total_unread_threads_count"`
ChannelType []UnreadCountsChannelType `json:"channel_type"`
Channels []UnreadCountsChannel `json:"channels"`
Threads []UnreadCountsThread `json:"threads"`
TotalUnreadCountByTeam map[string]int `json:"total_unread_count_by_team,omitempty"`
}
Basic response information