Server-Side Overview

Parts of Stream Chat are configured from your backend rather than from a client SDK. App settings, permissions, webhooks, push templates, data retention and campaigns are all set up with a server-side SDK or the REST API, authenticated with your API secret. That code never runs in your app.

Those pages used to appear in this sidebar. They now live in the server-side documentation, so the pages here stay focused on the code you ship to your users.

What you will find there

SectionCovers
App and channel settingsApp-wide settings, roles and permission policies, per-channel setting overwrites
WebhooksEvent delivery, before-message-send and custom command hooks, the event catalogue, SQS, SNS, failover
Push configurationNotification templates, push providers and multi-bundle setup
CampaignsSending a message to a segment of your users
Server-driven messagingAI message streaming, unread reminders, restricted message delivery
Channel lookupFetching one channel by type and ID without creating it
Data and complianceRetention policies, audit logs, GDPR deletion, exporting and importing channels
MigrationMoving an existing app onto Stream
Scale and operationsDynamic partitioning, user average response time, Datadog integration
Plan limitsFair usage allowances, storage and bandwidth
Marketplace appsTwo-sided marketplace patterns built on channel type configuration

Languages

The server-side docs are published per language. Pick yours from the selector at the top of the page: Node.js, Python, Go, Java, Ruby, PHP or C#.

If you landed here because your client cannot connect, token generation is the usual cause. Tokens must be signed with your API secret on your server, so a client SDK cannot mint one. Start with Tokens & Authentication.