For Agents
Send messages, manage channels, moderate content, and run chat campaigns through Stream's chat infrastructure. Supports per-user JWT tokens, blocklists, and reactions across 171 endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Stream API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Stream API.
Create and update chat channels with custom roles, members, and metadata
Send messages with attachments, reactions, threads, and read receipts
Issue per-user JWT tokens to scope chat access to a single user session
GET STARTED
Use for: I need to send a chat message to a channel, Create a new chat channel with two members, Issue a JWT token for the user I am acting on behalf of, List all channels a given user is a member of
Not supported: Does not handle email delivery, SMS, voice calls, or video conferencing — use for chat messaging and in-app community features only.
The Stream API powers in-app chat, channels, messages, reactions, threads, moderation, and activity feeds for consumer and SaaS products. It exposes 171 endpoints covering channel CRUD, message send and update, member roles, push notifications, blocklists, campaigns, and AI-assisted moderation. Stream issues short-lived JWT tokens per user so each client only sees the channels they belong to, and supports a global edge network for low-latency delivery worldwide.
Run blocklist checks and AI moderation on inbound messages before delivery
Launch and stop chat campaigns to broadcast messages to channel segments
Query channels by member, custom field, or last message timestamp
Manage push notification settings and devices per user
Patterns agents use Stream API for, with concrete tasks.
★ In-App Chat for Consumer Products
Embed direct messaging and group chat into mobile or web apps with channels, threads, reactions, typing indicators, and read state. Stream handles message storage, fan-out, and delivery so product teams ship a working chat experience in days instead of building real-time infrastructure from scratch. The API issues per-user JWT tokens so each client only accesses its own channels.
Create a messaging channel between users alice and bob, issue a JWT for alice, then send the message 'Hi from the agent' on her behalf.
Community and Support Channels
Run public community channels, support rooms, or moderated group chats with role-based permissions, blocklists, and AI moderation. The Stream API exposes blocklist CRUD and campaign endpoints so moderation teams can enforce content rules and broadcast announcements across many channels at once.
Add the term 'spam-domain.example' to the global blocklist and confirm the moderation rule is active for all channels.
Customer Engagement Campaigns
Send targeted in-chat campaigns to user segments using the campaigns endpoints. Marketing or lifecycle teams query users by attribute, schedule the campaign, and Stream delivers messages through the existing chat channel without the user installing anything new. Useful for re-engagement, product announcements, and onboarding nudges.
Start campaign id 'camp_welcome_2026' and verify it transitioned to status 'running'.
AI Agent Chat Workflows
AI agents act as a participant in Stream channels — reading recent messages, generating a response, and posting back through the same channel. Through Jentic the agent searches for the send-message operation, loads the schema, and executes with a JWT scoped to the agent user, so the raw Stream secret never enters the agent's context.
Read the last 20 messages in channel 'support-123', generate a reply, and post it as user 'agent-bot'.
171 endpoints — the stream api powers in-app chat, channels, messages, reactions, threads, moderation, and activity feeds for consumer and saas products.
METHOD
PATH
DESCRIPTION
/channels
Query channels by filter and sort
/app
Get app settings and configuration
/blocklists
Create a blocklist of banned words
/campaigns/{id}/start
Start a chat campaign
/campaigns/{id}/stop
Stop a running campaign
/blocklists
List all blocklists in the app
/channels
Query channels by filter and sort
/app
Get app settings and configuration
/blocklists
Create a blocklist of banned words
/campaigns/{id}/start
Start a chat campaign
/campaigns/{id}/stop
Stop a running campaign
Three things that make agents converge on Jentic-routed access.
Credential isolation
Stream's app secret and per-user JWT signing key are stored encrypted in the Jentic vault. Agents receive a short-lived user-scoped JWT at execution time — the master secret never enters the agent's context.
Intent-based discovery
Agents search by intent (e.g. 'send a chat message' or 'add to blocklist') and Jentic returns the matching Stream operation with its full input schema, so the agent can call the correct endpoint without browsing Stream's docs.
Time to first call
Direct Stream integration including JWT signing, webhook setup, and moderation wiring: 3-7 days. Through Jentic: under 1 hour — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Stream API through Jentic.
What authentication does the Stream API use?
Stream uses an apiKey scheme — a per-user JWT passed in the Authorization header, plus a server-side api_key query parameter and Stream-Auth-Type header. Through Jentic these credentials live in the encrypted vault and never enter the agent's context, so the agent only receives a scoped token at execution time.
Can I send a chat message with the Stream API?
Yes. The send-message operation under the channels resource accepts a channel id and a message body and returns the persisted message with id, created_at, and reactions. The spec exposes channel querying via POST /channels and channel-scoped message endpoints under the same resource.
What are the rate limits for the Stream API?
Stream applies per-app rate limits that vary by endpoint family — channel and message reads have higher limits than campaign or moderation writes. Specific quotas depend on the plan; production apps should implement exponential backoff on 429 responses and check the X-Ratelimit-Remaining header.
How do I moderate messages with the Stream API through Jentic?
Search Jentic for 'add a word to the chat blocklist'. Jentic returns the POST /blocklists operation with its schema; load it, supply the blocklist name and words, and execute. Stream then applies the rule across all channels in the app.
Can the Stream API run chat campaigns?
Yes. POST /campaigns/{id}/start launches a configured campaign and POST /campaigns/{id}/stop halts it. POST /campaigns/query lists campaigns with filters so you can find one by status or creation date before transitioning state.
Does Stream support push notifications?
Yes. The API exposes device registration and push provider configuration so registered devices receive a push when a message arrives in a channel they belong to. Notification templates can be customised per channel type.
/blocklists
List all blocklists in the app