Categorygithub.com/GetStream/getstream-go
modulepackage
0.0.0-20250122122606-bd79ff16159c
Repository: https://github.com/getstream/getstream-go.git
Documentation: pkg.go.dev

# README

Official Go SDK for Stream

Build Status Go Report Card Godoc GitHub release Go Version codecov

Official Go API client for Stream Chat and Video, a service for building chat and video applications.
Explore the docs ยป

Report Bug ยท Request Feature

Quick Links

What is Stream?

Stream allows developers to rapidly deploy scalable feeds, chat messaging and video with an industry leading 99.999% uptime SLA guarantee.

Stream provides UI components and state handling that make it easy to build video calling for your app. All calls run on Stream's network of edge servers around the world, ensuring optimal latency and reliability.

๐Ÿ‘ฉโ€๐Ÿ’ป Free for Makers ๐Ÿ‘จโ€๐Ÿ’ป

Stream is free for most side and hobby projects. To qualify, your project/company needs to have < 5 team members and < $10k in monthly revenue. Makers get $100 in monthly credit for video for free.

๐Ÿ˜Ž Repo Overview ๐Ÿ˜Ž

This repo contains the Golang server-side SDK developed by the team and Stream community. For a feature overview please visit our roadmap.

โœ๏ธ Contributing

We welcome code changes that improve this library or fix a problem, please make sure to follow all best practices and add tests if applicable before submitting a Pull Request on Github. We are very happy to merge your code in the official repository. Make sure to sign our Contributor License Agreement (CLA) first. See our license file for more details.

Head over to CONTRIBUTING.md for some development tips.

Generate Code from Spec

To regenerate the Go source from OpenAPI, just run the ./generate.sh script from this repo.

Note Code generation currently relies on tooling that is not publicly available. Only Stream developers can regenerate SDK source code from the OpenAPI spec.

๐Ÿง‘โ€๐Ÿ’ป We Are Hiring!

We've recently closed a $38 million Series B funding round and we keep actively growing. Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world.

Check out our current openings and apply via Stream's website.

# Functions

EncodeValueToQueryParam returns the string representation of a value ready to be used as a query param.
MakeRequest makes a generic HTTP request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewDefaultLogger creates a new DefaultLogger instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Version returns the version of the library.
WithAuthToken sets the auth token for the client.
WithBaseUrl sets the base URL for the client.
No description provided by the author
No description provided by the author
No description provided by the author
WithLogger sets a custom logger for the client.
WithTimeout sets a custom timeout for all API requests.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DefaultBaseURL is the default base URL for the stream chat api.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
LogLevelDebug is the lowest severity.
LogLevelError is for error messages.
LogLevelInfo is for general information.
LogLevelWarn is for warning messages.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

DefaultLoggerInstance is the default logger instance.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
An attachment is a message object that represents a file uploaded by a user.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Config for creating Azure Blob Storage storage.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
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.
No description provided by the author
No description provided by the author
No description provided by the author
Block list contains restricted words.
No description provided by the author
No description provided by the author
BlockUserResponse is the payload for blocking a user.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
BroadcastSettingsResponse is the payload for broadcasting settings.
No description provided by the author
No description provided by the author
This event is sent when a user accepts a notification to join a call.
CallClosedCaption represents a closed caption of a call.
This event is sent when call closed captions has failed.
This event is sent when call closed caption has started.
This event is sent when call closed captions has stopped.
This event is sent when a call is created.
This event is sent when a call is deleted.
No description provided by the author
No description provided by the author
This event is sent when a call is mark as ended for all its participants.
No description provided by the author
This event is sent when HLS broadcasting has failed.
This event is sent when HLS broadcasting has started.
This event is sent when HLS broadcasting has stopped.
CallIngressResponse is the payload for ingress settings.
This event is sent when a call is started.
This event is sent when one or more members are added to a call.
This event is sent when one or more members are removed from a call.
This event is sent when one or more members are updated.
This event is sent when one or more members get its role updated.
This event is sent to call members who did not accept/reject/join the call to notify they missed the call.
This event is sent to all call members to notify they are getting called.
No description provided by the author
No description provided by the author
No description provided by the author
This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen.
CallRecording represents a recording of a call.
This event is sent when call recording has failed.
This event is sent when call recording is ready.
This event is sent when call recording has started.
This event is sent when call recording has stopped.
This event is sent when a user rejects a notification to join a call.
No description provided by the author
CallRequest is the payload for creating a call.
Represents a call.
This event is sent to all call members to notify they are getting called.
This event is sent when a call RTMP broadcast has failed.
This event is sent when RTMP broadcast has started.
This event is sent when RTMP broadcast has stopped.
This event is sent when a call session ends.
This event is sent when a participant joins a call session.
This event is sent when a participant leaves a call session.
No description provided by the author
This event is sent when a call session starts.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CallStateResponseFields is the payload for call state response.
No description provided by the author
No description provided by the author
CallTranscription represents a transcription of a call.
This event is sent when call transcription has failed.
This event is sent when call transcription is ready.
This event is sent when call transcription has started.
This event is sent when call transcription has stopped.
No description provided by the author
CallTypeResponse is the payload for a call type.
This event is sent when a call is updated, clients should use this update the local state of the call.
This event is sent when a call member is muted.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Represents channel in chat.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Claims contains optional parameters for token creation.
No description provided by the author
No description provided by the author
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.
No description provided by the author
Basic response information.
Represents custom chat command.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Response for creating a call type.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
A custom event, this event is used to send custom events to other participants in the call.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
DefaultLogger is the default implementation of the Logger interface.
No description provided by the author
No description provided by the author
No description provided by the author
DeleteCallResponse is the payload for deleting a call.
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
Basic response information.
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Response for DeleteRecording.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DeleteTranscriptionResponse is the payload for deleting a transcription.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Response for Device.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Response for ending a call.
No description provided by the author
No description provided by the author
No description provided by the author
User response object.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Contains information about flagged user or message.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Response for get block list.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
HLSSettings is the payload for HLS settings.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Response for ListCallType.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
List devices response.
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
Response for listing recordings.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MemberRequest is the payload for adding a member to a call.
MemberResponse is the payload for a member of a call.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Result of the message moderation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Represents any chat message.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Represents any chat message.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MuteUsersResponse is the response payload for the mute users endpoint.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
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.
No description provided by the author
PinRequest is the payload for pinning a message.
Basic response information.
No description provided by the author
No description provided by the author
Policy request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
Client request.
No description provided by the author
No description provided by the author
No description provided by the author
Query message flags response.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
RateLimitInfo represents the quota and usage for a single endpoint.
No description provided by the author
No description provided by the author
ReactionGroupResponse contains all information about a reaction of the same type.
No description provided by the author
Basic response information.
Represents user reaction to a message.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RecordSettings is the payload for recording settings.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RTMPBroadcastRequest is the payload for starting an RTMP broadcast.
RTMP input settings.
No description provided by the author
No description provided by the author
No description provided by the author
RTMPSettingsResponse is the payload for RTMP settings.
No description provided by the author
Config for creating Amazon S3 storage.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting.
No description provided by the author
StartRecordingResponse is the response payload for the start recording endpoint.
No description provided by the author
StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Request for stopping RTMP broadcasts.
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
Error represents an API error.
Response is the base response returned to the client.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
Represents a user that is participating in a thread.
No description provided by the author
No description provided by the author
No description provided by the author
Sets thresholds for AI moderation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
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.
No description provided by the author
UnblockUserResponse is the payload for unblocking a user.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
UnpinRequest is the payload for unpinning a message.
UnpinResponse is the payload for unpinning a message.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Response for updating a call.
No description provided by the author
UpdateCallTypeResponse is the payload for updating a call type.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
Basic response information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
User request object.
User response object.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The discriminator object for all webhook events, it maps events' payload to the final type.
Basic response information.
Represents an BaseEvent that happened in Stream Chat.
No description provided by the author
No description provided by the author

# Interfaces

No description provided by the author
Logger is an interface that clients can implement to provide custom logging.

# Type aliases

No description provided by the author
No description provided by the author
LogLevel represents the severity of a log message.
No description provided by the author
No description provided by the author